这段防 CC 攻击代码如何?

2017-08-02 20:24:44 +08:00
 tianxiacangshen
if($_COOKIE['yes_cc']){
if(microtime(true) - $_COOKIE['yes_cc'] < 0.3){
redirect('http://127.0.0.1');
}
}else{
cookie('yes_cc',microtime(true),1); //不知道为什么,浏览器禁用 cookie 了这条语句还是能写入
}
if(!$_COOKIE['yes_cc']) redirect('http://127.0.0.1');

设置 cookie 过期时间为 1 秒,如果 0.3 秒内访问超过 1 次就跳转到 http://127.0.0.1,如果禁用 cookie 也跳转到 http://127.0.0.1
4601 次点击
所在节点    PHP
26 条回复
JackBlack2006
2017-08-02 20:37:58 +08:00
少数禁用了 cookie 的 firefox chrome 哭晕在硬盘里(滑稽)
JackBlack2006
2017-08-02 20:38:33 +08:00
不过这是个好思路,上述的用户毕竟少数
lianz
2017-08-02 20:40:05 +08:00
零价值代码。
请求打到了 PHP 上已经算是防御失败了。
zbinlin
2017-08-02 20:42:36 +08:00
干吗要跳转到 127.0.0.1,直接 denied 不就行了。
tianxiacangshen
2017-08-02 20:43:03 +08:00
@JackBlack2006 但是我刚刚测试禁用 cookie,cookie('yes_cc',microtime(true),1); 这条语句还是能写入和读出,不知道什么原因
tianxiacangshen
2017-08-02 20:47:53 +08:00
@lianz 请问这段代码能防止每秒 1000-3000 次的 cc 攻击吗,我是 windows 服务器 ,php+mysql+IIS7 环境,请问怎么高效防 cc ?
Phant0m
2017-08-02 20:51:13 +08:00
试试 nginx+lua
whatsmyip
2017-08-02 20:52:08 +08:00
设置 COOKIE 只是发出了一个 http header,浏览器禁用 COOKIE 就不会执行。

你可以把 COOKIE[] 看作是一个普通变量,自然可以在写入后读取了。

真想用 COOKIE 的话,可以先让跳转到某一页面种 COOKIE。

不过话说这种手段基本防君子不防小人。
VgV
2017-08-02 21:07:11 +08:00
cookies 不行,如果我每一次访问都重新设置时间呢?
Yourshell
2017-08-02 21:29:14 +08:00
直接屏蔽 IP,第三方防火墙。
ovear
2017-08-02 21:30:08 +08:00
打到 php 上了就都不行。。
rainex
2017-08-02 21:48:10 +08:00
我知道的 cc 攻击都是专用工具,只管建立 http 连接,也不管你返回要建立 cookie 还是干嘛,人家根本不理会

cooke 本质上是种靠不住的东西
lslqtz
2017-08-02 22:15:47 +08:00
@rainex 正是因为不会回应建立 cookie 才可以防御。
iyaozhen
2017-08-02 22:34:25 +08:00
我每请求带的 yes_cc 固定为未来的一个时间戳,不就行了
03
2017-08-02 22:59:38 +08:00
永远不要相信用户输入。。。cookies 是存在客户端的
gstqc
2017-08-02 23:19:09 +08:00
弄十几个能 set-cookie 的肉鸡,轻松击垮
changwei
2017-08-02 23:29:08 +08:00
人家黑客也不是吃素的,别人难道不会专门针对你这种策略写个 cc 攻击器嘛?
rootx
2017-08-03 01:47:52 +08:00
在 nginx 层防住才能叫防 CC
jarlyyn
2017-08-03 01:58:33 +08:00
如果要做这种的话,直接 nginx 处理不就好了,连 lua 都不需要
判断有没有 cooke,没有 cookie 403 到带 js 设置的页面并 reload
有 cookie 正常访问

参考 https://blog.jarlyyn.com/site/blogi/100-%E7%94%A8nginx+cookie%E9%98%B2%E6%AD%A2%E7%AE%80%E5%8D%95%E7%9A%84%E6%8A%93%E5%8F%96/%E7%A0%B4%E8%A7%A3%E9%AA%9A%E6%89%B0
msg7086
2017-08-03 02:19:34 +08:00
负价值,只杀普通用户,不杀 CC 脚本。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/379920

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX