如何保护我的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调用的方法但是我们可以通过拒绝所有不需要的请求来保护我们的服务器。
相关文章:
- ajax请求的顺序总是不同的
- 从ajax请求中获取javascript对象
- Ajax请求文档就绪会导致jquery加载缓慢
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- JavaScript代码未正确检查ajax请求
- node.js请求数据事件未在CORS ajax调用中触发
- jQuery Ajax GET请求工作不正常
- "日期“;AJAX请求返回的类型值未定义
- Django - 响应请求 AJAX
- 使用 jQuery 的 CORS 请求 - $.ajax()
- 如果无线电值为 ==1,则请求 ajax
- 如何处理对循环中发出的多个异步请求(AJAX 调用)的响应
- POST请求ajax jquery错误
- CasperJS don'我没有请求AJAX
- 使用这种Facebook风格的Lightbox-请求AJAX-在一个页面上覆盖多个按钮
- 400错误请求ajax post请求
- 如何在开始发送请求ajax之前延迟3秒
- 与jQuery同时请求AJAX
- 使用POST请求AJAX发送json对象