extreme
2014-11-12 18:39:52 +08:00
我觉得准确点,应该是CC攻击。
要对抗云盾都防不住的CC攻击,那就得做出一点牺牲了。
访客访问网站,首先检查Cookie中有没有SessionID,没有的话就302重定向至一个页面,要求输入验证码,正确后就生成一个Session,Set Cookie,Cookie中带Session ID,Sssion中保存访客的IP,并生成一串随机字符,然后Set一个Cookie,内容为随机字符。
已有Session的访客,每次访问就检查Session中的IP是否与访客的IP一致,否就302到验证码页面,要求重新验证。
IP检查通过后,就检查Cookie中的随机字符是否与Session中的随机字符匹配,否就302到验证码页面要求重新验证,匹配的话,就重新生成一串随机字符到Session,并且重新Set随机字符的Cookie。
这样做非常有效,但会影响搜索引擎的抓取,不过总比被CC到宕机无法访问好。