其实小杰的树洞外链已经运行了快一年了,很早的时候就遇到过树洞外链被刷注册的事情,小杰我也没咋在意这件事情,直到上个月的树洞外链集体被刷时才知道这个漏洞是多么的可怕,小杰的树洞被刷了5G流量,有甚者被刷几万块钱进去,七牛可以来领房子了,今天小杰看到我们站长联盟群又发生被刷事件,这次想起写一个应对策略。
话不多说,看教程
比较安全的方式就是给post文件加一个http验证,当然,代码是网上找的,该http验证代码适用于其他网站上。
加入以下代码到树洞外链的几个点,注册点,分享点等等,至于其他敏感点位都可以加,一次验证全站通过。
注册点文件路径:/includes/userAction.php
分享点文件路径:/includes/create_share.php
header("Content-type: text/html; charset=utf-8"); function validate($user, $pass) { $users = ['admin'=>'admin0']; if(isset($users[$user]) && $users[$user] === $pass) { return true; } else { return false; } } if(!validate(@$_SERVER['PHP_AUTH_USER'], @$_SERVER['PHP_AUTH_PW'])) { http_response_code(401); header('WWW-Authenticate:Basic realm="My website"'); echo '需要用户名和密码才能继续访问'; exit; } else { }不会加的,看图,其中admin是账户,admin0是密码,自行修改
后续:经过周密的想了一下,该方法其实还有一点不方便,不方便用户使用,登录和注册都需要验证的话,树洞外链的方便性就体现不出来了,如果用户少,就可以多设置几个专属的验证密码发布下去,或者有技术的大佬可以想一下如何巧妙的修复这个漏洞。
发表评论: