File manager - Edit - /home/linknsbh/cecil-hotel.net/vendor/botble/platform/acl/src/Traits/ThrottlesLogins.php
Back
<?php namespace Botble\ACL\Traits; use Illuminate\Auth\Events\Lockout; use Illuminate\Cache\RateLimiter; use Illuminate\Http\Request; use Illuminate\Support\Facades\Lang; use Illuminate\Support\Str; use Illuminate\Validation\ValidationException; use Symfony\Component\HttpFoundation\Response; trait ThrottlesLogins { protected function hasTooManyLoginAttempts(Request $request) { return $this->limiter()->tooManyAttempts( $this->throttleKey($request), $this->maxAttempts() ); } protected function incrementLoginAttempts(Request $request) { $this->limiter()->hit( $this->throttleKey($request), $this->decayMinutes() * 60 ); } protected function sendLockoutResponse(Request $request) { $seconds = $this->limiter()->availableIn( $this->throttleKey($request) ); throw ValidationException::withMessages([ $this->username() => [ Lang::get('auth.throttle', [ 'seconds' => $seconds, 'minutes' => ceil($seconds / 60), ]), ], ])->status(Response::HTTP_TOO_MANY_REQUESTS); } protected function clearLoginAttempts(Request $request): void { $this->limiter()->clear($this->throttleKey($request)); } protected function fireLockoutEvent(Request $request): void { event(new Lockout($request)); } protected function throttleKey(Request $request): string { return Str::lower($request->input($this->username())) . '|' . $request->ip(); } protected function limiter(): RateLimiter { return app(RateLimiter::class); } public function maxAttempts(): int { return property_exists($this, 'maxAttempts') ? $this->maxAttempts : 5; } public function decayMinutes(): int { return property_exists($this, 'decayMinutes') ? $this->decayMinutes : 1; } }
| ver. 1.4 |
Github
|
.
| PHP 8.2.31 | Generation time: 0.24 |
proxy
|
phpinfo
|
Settings