我的网站有一个Javascript方法,该方法使AJAX请求将项目添加到购物车而无需重新加载页面并进行简单通知.
AddToCart()
但是,使用任何Javascript控制台,我发现您可以通过一个简单的声明来泛滥此请求:
while (true) {AddToCart()}
并最终锁定服务器,直到浏览器崩溃.更稳定的浏览环境甚至可能无限期地锁定服务器.那么防止这种尝试的最佳方法是什么呢?
解决方法:
也许你应该只在私有命名空间中定义函数?
(function() {
function AddtoCart(){};
})();
这样你就无法通过控制台引用它.
这当然不是防弹的,因为任何人都可以复制代码或向URI发出HTTP请求.
您无法停止HTTP请求,但您可以通过实施CSRF令牌来停止页面处理数据,这样除非CSRF令牌匹配,否则它不会执行繁重的处理,这是从您的页面生成的,该页面根据变量创建CSRF像时间戳等,所以它不能(轻松?)再现.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。