php如何阻止模拟请求,php防止模拟请求

1.一些网站是采用检测此IP地址登录的密集度,多次登录后需要输入验证码,那么这时CURL模拟的提交就需要去对验证码图片进行分析,这样就会花费大量时间,当然,这种是对于防止登录被爆破,用户资料泄露的。

2.还有一种就是直接在session保存生成的随机码,然后放在input的隐藏域,这种比验证码那种差了许多。

3.注意javascipt本身是无法跨域提交的,不是因为不能做到,而是防止别人恶意偷取用户信息,例如点击打开他的网站,用iframe打开正规网页,然后在另一个iframe中进行偷取。

要实现ajax跨域访问,需要设置

header("Access-Control-Allow-Origin:*"); //跨域权限设置,允许所有要防止

ajax跨域访问,需要设置

header("Access-Control-Allow-Origin:http://www.test.com"); //只允许test.com跨域提交数据4.如果要防止php的模拟请求,比如post请求,那么就可以设置必须为ajax请求才能处理。

//判断是否为ajax请求,防止别人利用curl的post抓取数据

if(isset($_SERVER["HTTP_X_REQUESTED_WITH"])&&strtolower($_SERVER["HTTP_X_REQUESTED_WITH"])=="xmlhttprequest"){ }完整解决方案:

header("Access-Control-Allow-Origin:http://leshen.applinzi.com/cet"); //只允许本站提交数据,前端防ajax跨域,其实js本来就不能跨域

//判断是否为ajax请求,后端防止别人利用curl的post抓取数据

if(isset($_SERVER["HTTP_X_REQUESTED_WITH"])&&strtolower($_SERVER["HTTP_X_REQUESTED_WITH"])=="xmlhttprequest"){

//处理业务逻辑

}else{

echo "we caught you! you have no access!";

};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值