建站一个月几乎每天都被攻击。。求解决思路

2014-12-23 21:42:53 +08:00
 Jack

建站一个月。。。几乎每天都在被攻击。。。而且道高一丈魔高一丈的。。。攻击方法不断升级。。。

我的架构是nginx php mysql,今天搭上了SSDB,依旧未管用

主要攻击是在搜索页,一开始是单一ip单一词汇刷而已
封了ip以后变成n个ip不停刷
于是我就把搜索使用的词封掉,于是变成n个8-10个词的组合不停的刷,就这也算有规律可循
但是到了今天变成了拿字典来刷,完全无规律组合词多ip不停搜索

一上来我就挂,即使我把搜过的纪录全放到了SSDB,但是还是一刷就挂,一堆新组合词语,mysql瞬间200%,nginx 503。

最后只能放上了验证码,机制是搜索10次填写一次验证码。。。至于这个办法是否管用现在还不知道。。。

有人建议用sphinx,我还没用,貌似文档不太友好,对我这个非技术人员比较头疼。。。

求专业技术大拿提供解决问题思路。。。

16327 次点击
所在节点    程序员
146 条回复
raly
2014-12-23 21:47:45 +08:00
什么站这么招人嫉妒?
ryd994
2014-12-23 21:49:01 +08:00
Nginx limit_req limit_conn
yunshansimon
2014-12-23 21:49:20 +08:00
登录以后用自己的搜索,登录之前,所有搜索转百度。注册用邮箱或手机认证。
zhs227
2014-12-23 21:49:33 +08:00
这个事情描述的很劲爆,就像楼主的头像一样, 火!

为什么不弄注册用户才能搜索呢,每小时每用户只能搜3个关键词,再加个注册验证码或手机号注册验证(参考115),妥妥的就解决了啊?楼主没写清楚网站,难道是你之前说的那个字幕站?
kingda
2014-12-23 21:50:14 +08:00
huo360.com ?@raly @Jack
LINAICAI
2014-12-23 21:50:15 +08:00
开玩笑吧。。。我垃圾站放一年没人来看
Jack
2014-12-23 21:51:19 +08:00
@yunshansimon 这倒是个办法。。。以前没有想到。。。不过似乎和让填验证码也没啥本质区别
ryd994
2014-12-23 21:51:38 +08:00
还有限制搜索搜索频率,这个让PHP做,频率过高的直接503让他以为成功
nocturnal
2014-12-23 21:52:15 +08:00
封ip?
Jack
2014-12-23 21:53:37 +08:00
@ryd994 我有观察过。。。单个ip的访问和普通用户差不多。。。没法对ip做限制
Cu635
2014-12-23 21:55:02 +08:00
限制搜索频率,六维就是这么干的。

加上搜索多少次之后要验证码,google对可疑ip就是这么干的。
Jack
2014-12-23 21:57:06 +08:00
@zhs227 这种方式还是不友好啊。。。影响用户体验。。。
Jack
2014-12-23 21:58:13 +08:00
@nocturnal 海量IP无法封。。。不好找规律
Jack
2014-12-23 21:58:36 +08:00
@Cu635 现在是使用的此办法。。。
iyaozhen
2014-12-23 22:03:25 +08:00
加上验证码基本上可以了,良好的验证码还是比较难破解的,或者说是破解成本升高。
20150517
2014-12-23 22:05:20 +08:00
搜索一般是直接post,这种post完全没有cookie没有session,知道这点后,没session上手就post的,返回一个cached的页面,
1. 不要去封什么ip,没意思的,外面ip买买几分钱一个代理,你手动封肯定不是办法
2. 要返回正常页面,使他不能判断是不是你服务器到极限了
几次下来,他就无趣了,ip毕竟要花钱 ,他也是有点成本的
ljcarsenal
2014-12-23 22:05:28 +08:00
攻击图什么呢 要保护费么
20150517
2014-12-23 22:06:34 +08:00
如果他升级了,有session了,你要封ip要自动化,参考谷歌,你搜多了他就不让你搜了
ElmerZhang
2014-12-23 22:07:00 +08:00
搜索达到一定频率搜索功能直接启用验证码,不按IP什么的做限制,直接按功能做限制
Jack
2014-12-23 22:08:56 +08:00
@ljcarsenal 我也想知道,只能理解为竞争对手,我的网站上不去就去他的网站了

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

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

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

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

© 2021 V2EX