Kyl*_*cey 3 javascript security ajax ddos
我的网站有一个Javascript方法,该方法使AJAX请求将项目添加到购物车而无需重新加载页面并进行简单通知.
AddToCart()
Run Code Online (Sandbox Code Playgroud)
但是,使用任何Javascript控制台,我发现您可以通过一个简单的声明来泛滥此请求:
while (true) {AddToCart()}
Run Code Online (Sandbox Code Playgroud)
并最终锁定服务器,直到浏览器崩溃.更稳定的浏览环境甚至可能无限期地锁定服务器.那么防止这种尝试的最佳方法是什么呢?
也许你应该只在私有命名空间中定义函数?
(function() {
function AddtoCart(){};
})();
Run Code Online (Sandbox Code Playgroud)
这样你就无法通过控制台引用它.
这当然不是防弹的,因为任何人都可以复制代码或向URI发出HTTP请求.
您无法停止HTTP请求,但您可以通过实施CSRF令牌来停止页面处理数据,这样除非CSRF令牌匹配,否则它不会执行繁重的处理,这是从您的页面生成的,该页面根据变量创建CSRF像时间戳等,所以它不能(轻松?)再现.
| 归档时间: |
|
| 查看次数: |
2635 次 |
| 最近记录: |