如何保护我的php、jquery和ajax请求免受黑客攻击


How can I protect my php, jquery, ajax requests from hackers?

我通过jquery的ajax方法发送了大量数据,函数的一个例子是

$.ajax({
    url: retrive.php,
    type:     'POST',
    data:     data,
    success:  callback
});

问题是,任何人都可以查看源代码,并看到发送POST数据的php文件的位置,因此您可以将浏览器指向那里,并从URL获取数据。我会检查数据以确保其数据类型正确,但我不希望用户能够访问url。

我们如何防止直接访问该网址?

没有办法阻止用户导航到AJAX请求中显示的url。如果您没有收到POST数据,您所能做的就是显示一个错误。您也可以设置一个带有AJAX请求的自定义请求头来检查。

由于现代浏览器带有许多检查功能这不是完全可能的。由于php是在服务器端执行的,因此它是安全的。但是Jquery和Ajax可以查看,因为它是在客户端执行的。你可以采取一些安全措施。

1.)检查HTTPREFERER,这样我们就可以防止来自不可信来源的不需要的ajax调用。

在php$_SERVER中['HTTP_REFERER'];可以用来检查。如果裁判不是从你的原籍,你可以拒绝这个请求。

2.)加密的URL。

URL可以被加密,这样黑客就无法获得实际的页面详细信息。

3.)Javascript模糊

4.)服务器端验证

许多程序员跳过服务器端验证,只依赖客户端验证。客户端验证通常使用javascript进行,并且可以在浏览器上禁用它。使用检查工具,客户端还可以更改javascript并执行故障。所以服务器端验证是必须的。

5) 正确的身份验证和会话管理

这些是我们可以采取的一些应对措施。任何我们无法阻止黑客检查或查看javascript代码或ajax调用的方法但是我们可以通过拒绝所有不需要的请求来保护我们的服务器。