diff --git a/Web-Application/Manually/app/Http/Controllers/Auth/LoginController.php b/Web-Application/Manually/app/Http/Controllers/Auth/LoginController.php index 99d31e7..1433550 100644 --- a/Web-Application/Manually/app/Http/Controllers/Auth/LoginController.php +++ b/Web-Application/Manually/app/Http/Controllers/Auth/LoginController.php @@ -8,6 +8,7 @@ use App\Models\DeviceSession; use App\Http\Requests\LoginRequest; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Http; class LoginController extends Controller { @@ -23,6 +24,19 @@ class LoginController extends Controller $remember = $request->has('remember'); + //captcha + $response = Http::asForm()->post('https://hcaptcha.com/siteverify', [ + 'secret' => 'ES_f05ab02ddc424bbabca7e82b79f1c09f', + 'response' => $request->input('h-captcha-response'), + 'remoteip' => $request->ip(), + ]); + + $verification = $response->json(); + + if (!isset($verification['success']) || $verification['success'] !== true) { + return back()->withErrors(['error' => 'captcha is not correct']); + } + if (!Auth::attempt($credentials, $remember)) { return back()->withErrors([ 'email' => 'The provided credentials do not match our records.', diff --git a/Web-Application/Manually/app/Http/Requests/LoginRequest.php b/Web-Application/Manually/app/Http/Requests/LoginRequest.php index ad4628f..07b0c5f 100644 --- a/Web-Application/Manually/app/Http/Requests/LoginRequest.php +++ b/Web-Application/Manually/app/Http/Requests/LoginRequest.php @@ -24,6 +24,7 @@ class LoginRequest extends FormRequest return [ 'email' => 'required|email', 'password' => 'required|min:8', + 'h-captcha-response' => 'required', ]; } } diff --git a/Web-Application/Manually/resources/views/auth/login.blade.php b/Web-Application/Manually/resources/views/auth/login.blade.php index dd57268..ae952e6 100644 --- a/Web-Application/Manually/resources/views/auth/login.blade.php +++ b/Web-Application/Manually/resources/views/auth/login.blade.php @@ -45,6 +45,7 @@ {{ $message }} @enderror

+ {{-- captcha scction --}}
diff --git a/Web-Application/Manually/resources/views/layouts/app.blade.php b/Web-Application/Manually/resources/views/layouts/app.blade.php index 050a31e..956cc5a 100644 --- a/Web-Application/Manually/resources/views/layouts/app.blade.php +++ b/Web-Application/Manually/resources/views/layouts/app.blade.php @@ -11,6 +11,7 @@ @yield('content') + \ No newline at end of file