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

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

比如 这是你的脚本, 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的又是如何判断?


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


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

【热门文章】
【热门文章】