41man/login-gate-bundle
Composer 安装命令:
composer require 41man/login-gate-bundle
包简介
Checking brute force attacks on site
关键字:
README 文档
README
This bundle detects brute-force attacks on Symfony applications. It then will disable login for attackers for a certain period of time. This bundle also provides special events to execute custom handlers when a brute-force attack is detected.
Compatability
The bundle is since version 0.6 compatible with Symfony 4.
Installation
Add this bundle via Composer:
composer require anyx/login-gate-bundle
Configuration:
Add in app/config/config.yml:
login_gate: storages: ['orm'] # Attempts storages. Available storages: ['orm', 'session', 'mongodb'] options: max_count_attempts: 3 timeout: 600 #Ban period watch_period: 3600 #Only for databases storage. Period of actuality attempts
Register event handler (optional).
services: acme.brute_force_listener: class: Acme\BestBundle\Listener\BruteForceAttemptListener tags: - { name: kernel.event_listener, event: security.brute_force_attempt, method: onBruteForceAttempt }
Usage
In the following example we import the checker via dependency injection in SecurityController.php.
namespace App\Controller; use Anyx\LoginGateBundle\Service\BruteForceChecker; /** * @var BruteForceChecker $bruteForceChecker */ private $bruteForceChecker; /** * SecurityController constructor. * @param BruteForceChecker $bruteForceChecker */ public function __construct(BruteForceChecker $bruteForceChecker) { $this->bruteForceChecker = $bruteForceChecker; }
We can now use the checker to see if a person is allowed to login.
$this->bruteForceChecker->canLogin($request)
We can also clear the loginattempts when a login is succesful.
$this->bruteForceChecker->getStorage()->clearCountAttempts($request);
For more examples take a look at the tests.
统计信息
- 总下载量: 1.9k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-02-27