simedkom/app/Providers/AppServiceProvider.php
2025-09-24 11:09:53 +07:00

46 lines
1.3 KiB
PHP

<?php
namespace App\Providers;
use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\RateLimiter;
use Illuminate\Support\Facades\URL;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*/
public function register(): void
{
//
}
/**
* Bootstrap any application services.
*/
public function boot(): void
{
// if (env('APP_ENV') !== 'local') {
// URL::forceScheme('https');
// }
if (config('app.env') === 'production' || config('app.env') === 'staging') {
URL::forceScheme('https');
}
RateLimiter::for('login', function (Request $request) {
return Limit::perMinute(3)->by($request->ip())->response(function (Request $request) {
return redirect()->back()->with('toManyRequest', 'Harap tunggu 1 menit untuk login ulang.');
});
});
RateLimiter::for('contact_message', function (Request $request) {
return Limit::perDay(2)->by($request->ip())->response(function (Request $request) {
return redirect()->back()->with('toManyRequest', 'Harap tunggu 1 hari untuk mengirim pesan ulang.');
});
});
}
}