比如 这是你的脚本, 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的又是如何判断?
防爬虫没办法绝对的,只能尽量提高他爬得成本
比如用js通过复杂的计算方法来获得验证码,让他很难用别的语言写出相同的过程,即使实现了也会带来高占用