php 防止接口攻击,PHP使用memcached防止CC攻击 PHP+memcached+CLOUDFLARE 防CC 保护API接口...

PHP+memcached+cloudflare可以达到很强防御效果,在我给一个客户定制的方案中就使用了这个方法

首先调整CLOUDFLARE的防御参数,然后安装MEMCACHED,然后设置RAILGUN,再优化网站代码,这里使用MEMCAHED的键值队列功能实现,原理与我们上一篇介绍的使用redis类似,只是方法改成用memcahed

代码案例如下:

if(class_exists('Memcached')){

$IPmax=5;//每60秒钟允许5个注册请求

$IPtime=60;//每60秒钟允许5个注册请求

$ipfromcf=$_SERVER['HTTP_CF_CONNECTING_IP'];//这里是配合cdn.bnxb.com接入CF,所以读取CF传来的IP

$memcached = new Memcached();

$memcached->addServer('127.0.0.1',11211); // 连接服务器

$memcached->setOption(Memcached::OPT_COMPRESSION, false);

$num = $memcached->get($ipfromcf);

if(!$num){$num=1;}else{$num=$num+1;}

//echo $num;

if($num>$IPmax){

exit('bnxb.com 笨 牛 网提醒您:您访问频率过高,访问超限!');

}

$memcached->set($ipfromcf,$num,$IPtime);

$memcached->quit();

}

//这里放入需要执行的代码部分,比如查询数据库的操作

?>

通过这样优化,可以对反复调用你网站API接口,或者CC攻击你网站的人的IP,进行短时间屏蔽,不进行后续费资源的数据库查询操作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值