有人正在通过 cURL 阅读我的页面。如何禁用它通过 cURL 访问我的页面?他正在使用这种方法阅读我的页面
function ajax(){
$.ajax({
type: "POST",
url: "../ajaxupdate.php",
data: { link: "58699768" }
}).success(function( msg ) {
$('#postcontent').html( msg );
ajax();
});
}
ajax();
这将是非常困难的,因为 cURL 提供了大量的选项,因此可能会绕过几乎任何安全性,除非您要求验证码或登录/密码与活动的 cookie 和会话。您可以做的两件事是: 1. 以您喜欢的任何方式阻止 ip - 在脚本中或使用 iptables。2.当你看到他的用户代理时杀死脚本,这样他/她什么都得不到。
但正如我所说,有数百万种方法可以绕过这些代理、切换用户代理以及介于两者之间的任何方法。
您可以通过检查来过滤烦人的客户端的连接$_SERVER['HTTP_USER_AGENT']
。
如果它包含字符串,则curl
返回一个空白页。
例如
if (preg_match('/curl/i', $_SERVER['HTTP_USER_AGENT']))
return;
显然这不是一个 100% 安全的方法,因为curl
可以将自定义设置User-Agent
到 HTTP 标头中。