怎样防止表单被fsocket,curl这类循环恶意提交?

发布于 2022-09-01 12:36:53 字数 619 浏览 17 评论 0

比如 这是你的脚本, add.html
$url = 'www.test.com/member/add';
$data = {name : 'jim', 'age' : '19'};

$.ajax({
url : $url,
method : 'post',
data : $data,
success : function(){}
})

然后服务器端add.php就做一些存储


但是有个问题是可以在本地 localhost/add.php这样提交

for($i=1; $i<10000; $i++){
curl($url, $data);
}


1.我知道验证码是一个方法
2.表单hash我估计没啥用 可以在循环之前
file_get_content('www.test.com/add.html');
抓到那个值
3. 是不是在服务器端做一些$_SERVER的header的判断? refer host这些可以伪造啊 我知道ajax有同源策略
如果判断了x-request-with是可以阻挡的, 但这个例子是ajax的 我想知道不是ajax的又是如何判断?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

路还长,别太狂 2022-09-08 12:36:53

防爬虫没办法绝对的,只能尽量提高他爬得成本
比如用js通过复杂的计算方法来获得验证码,让他很难用别的语言写出相同的过程,即使实现了也会带来高占用

谈场末日恋爱 2022-09-08 12:36:53

这种循环提交已经可以算DDOS了,防DDOS没有一本万利的方法
比如可以限制IP提交频率等等

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文