【问题标题】:Preventing laravel website from bot attack防止 laravel 网站受到 bot 攻击
【发布时间】:2021-01-02 06:08:08
【问题描述】:

最近,我开始注意到我的 laravel 电子商务网站的流量有所增长。假用户(机器人)正在注册,并且由于机器人攻击,服务器超载并崩溃。我的网站托管在 AWS EC2 上。 我可以做些什么来防止我的网站受到机器人攻击并节省服务器负载。

【问题讨论】:

  • Laravel 现在有一个“验证”方法,所以如果你注册,你必须通过电子邮件“验证”。
  • 您可以为所有路由启用油门,我在下面给出了答案,您也可以使用 cloudflare 来防止来自 dns 的 bot/ddos 攻击

标签: laravel security amazon-ec2 server


【解决方案1】:

Laravel 节流阀是 Laravel 应用程序的速率限制器。限速器是检查用户会话或IP在一定时间内请求过多并响应HTTP状态429过多请求的过程。

默认情况下,最新版本的 laravel 中可以使用油门 (从 5.2 开始),您可以在 kernel.php 上看到它:

'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,

如果throttle 在您的应用中不可用,那么您可以从here 安装它

您可以通过以下路由组使您的请求安全地实施 laravel 节流:

Route::group(['middleware' => 'throttle:60,1'], function () {
  Route::get('your_route', 'YourController@your_method');
  Route::post('your_route2', 'YourController@your_method2');
});

Route::middleware('throttle:60,1')->group(function () {
  Route::get('/user', function () {
    //
  });
});

单个用户或会话 IP 每 1 分钟允许 60 个请求。您必须在实时服务器上对其进行测试。它在本地主机中不起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    相关资源
    最近更新 更多