hongliang/defender
保护您的网站免受恶意扫描
v0.2.6
2018-07-12 10:03 UTC
This package is not auto-updated.
Last update: 2024-09-13 11:19:59 UTC
README
Defender
保护您的网站免受恶意扫描。它与防御投票者一起工作。目前支持请求URI关键词和IP范围防御投票者。
安装
通过composer安装
composer require hongliang/defender
工作原理
如果您正在运行Silex或Symfony应用程序,请在自动加载之后、路由器之前注入以下代码。否则将触发未定义路由异常。
简单方法
\Hongliang\Defender\Defender::defend();
自定义方法
use Hongliang\Defender\Defender; use Hongliang\Defender\Voter\IpRangeVoter; use Hongliang\Defender\Voter\UriKeywordVoter; $defender = new Defender(); $defender->addVoter(new IpRangeVoter()) ->addVoter(new UriKeywordVoter()) ->react();
根据您的需求进行自定义
use Hongliang\Defender\Defender; use Hongliang\Defender\Voter\IpRangeVoter; use Hongliang\Defender\Voter\UriKeywordVoter; use Hongliang\Defender\Voter\SpiderVoter; // it's possible to customize the level of reaction as the 2nd parameter of addVoter() // it's possible to set a URL to redirect to when the level is revenge or higher. By default it's localhost $defender = new Defender(); $defender->addVoter(new IpRangeVoter(), Defender::FORBIDDEN) ->addVoter(new UriKeywordVoter(), Defender::REVENGE) ->addVoter(new SpiderVoter(), Defender::DENY) ->setRedirectUrl('http://www.google.com') ->react();
更高级的使用
use Hongliang\Defender\Defender; use Hongliang\Defender\Voter\IpRangeVoter; use Hongliang\Defender\Voter\UriKeywordVoter; use Hongliang\Defender\Voter\SpiderVoter; $voter = new UriKeywordVoter(); $voter->setAssets(['fckedit', '/wp-']); $ipVoter = new IpRangeVoter(); $ipVoter->setAssets([['0.0.0.0', '255.255.255.255']]); $spiderVoter = new SpiderVoter(); $spiderVoter->setAssets(['Baiduspider', '360spider']); $defender = new Defender(); $defender->addVoter($ipVoter, Defender::FORBIDDEN) ->addVoter($voter, Defender::DENY) ->addVoter($spiderVoter, Defender::DENY) ->react();
待办事项
- 将IP范围分别存入单独的文件或甚至外部资源
- 将IP范围构建成长整数以提高性能
- 支持日志记录并记录所有高于正常级别的信息
- 将URI关键词分类,例如WordPress、Joomla。这样就可以在那些CMS中使用。