登入功能加上Google reCAPTCHA

更新於 發佈於 閱讀時間約 4 分鐘

這邊練習串接Google reCAPTCHA,簡單介紹Google reCAPTCHA v3。

Google reCAPTCHA v3 是一種幫助網站和應用程序識別和阻止惡意機器人和自動化攻擊,它由 Google 提供,旨在與傳統的 reCAPTCHA v2 不同,reCAPTCHA v3 不需要使用者進行任何可見的驗證碼輸入或互動。它通過分析使用者在網站上的行為來評估使用者的人類或機器人特徵。

接下來就是實作的部分~

建立 reCaptcha V3 帳戶

這一步驟中我們需要設定Google網站金鑰和秘密金鑰。這邊我們必須先透過此連結註冊一個新網站,然後才能使用 Google ReCaptcha,創建完畢後就會取得網站金鑰跟密鑰,而網站金鑰是前端頁面使用,密鑰是後端在 server 使用。

raw-image

設定密鑰至設定檔

在你的環境變數.env檔裡面加入密鑰

RECAPTCHA_SECRET=your_secret_key
RECAPTCHA_SITEKEY=your_site_key
RECAPTCHA_URL=https://www.google.com/recaptcha/api/siteverify


在登入頁面實作 reCaptcha

接下來在原本的login.blade.php頁面加上程式碼,加入 reCAPTCHA 欄位,通常是一個 <script> 元素和一個隱藏的 <input> 欄位。

首先在app.blade.php增加屬於js的模版,方便載入JS檔案

raw-image

接著放置 <script> 元素和一個隱藏的 <input> 欄位

<!-- recaptcha -->
<input type="hidden" name="google_recaptcha_token" id="recaptcha-token">

@section('js')
<script src="https://www.google.com/recaptcha/api.js?render={{env('RECAPTCHA_SITEKEY')}}"></script>
<script>
grecaptcha.ready(function() {
grecaptcha.execute('{{env('RECAPTCHA_SITEKEY')}}').then(function(token) {
$('#recaptcha-token').val(token);
});
});
</script>
@endsection
raw-image

建立middleware處理驗證規則

首先先創建一個middleware 來處理這些request

php artisan make:middleware GoogleRecaptcha
raw-image

登入路由綁定中介層驗證

Route::controller(AuthController::class)->middleware('recaptcha')->group(function () {
Route::post('/login', 'login');
});

最後回到登入頁面,可以看到已經有 reCAPTCHA圖案

raw-image

相關文章參考

https://developers.google.com/search/blog/2018/10/introducing-recaptcha-v3-new-way-to?hl=zh-tw#fighting-bots-your-way

https://developers.google.com/recaptcha/docs/v3?hl=zh-tw#automatically_bind_the_challenge_to_a_button

https://chivincent.net/blog/intergrate-google-recaptcha-enterprise-in-laravel/

留言
avatar-img
留言分享你的想法!
avatar-img
DDDDD的沙龍
15會員
37內容數
學涯無止境,透過每日or每週模仿學習筆記,不管是哪些領域也好,總有一天也可以從菜雞變小雞
DDDDD的沙龍的其他內容
2023/12/13
待業中後,發現時間變很多就開始東看看西看看,思考著要如何更深入理解Laravel框架的運用,而在Laravel框架中哪些部分是框架替我們做了哪些處理,推薦一個影片給大家一起學習理解。
Thumbnail
2023/12/13
待業中後,發現時間變很多就開始東看看西看看,思考著要如何更深入理解Laravel框架的運用,而在Laravel框架中哪些部分是框架替我們做了哪些處理,推薦一個影片給大家一起學習理解。
Thumbnail
2023/12/09
現在AI工具太多,且框架對於資安支援及處理也越來越方便,反而開始會容易忽略最底層的知識,這邊回顧MySQL的鎖,順便記錄一下找到的一些影片資源,並整理筆記
Thumbnail
2023/12/09
現在AI工具太多,且框架對於資安支援及處理也越來越方便,反而開始會容易忽略最底層的知識,這邊回顧MySQL的鎖,順便記錄一下找到的一些影片資源,並整理筆記
Thumbnail
2023/12/05
這邊主要是遇到功能需要處理時區,雖然主管給的筆記已經寫得很完美了,但覺得還是得理解吸收後並記錄自己的筆記後,好像才能有效吸收到腦袋裡
Thumbnail
2023/12/05
這邊主要是遇到功能需要處理時區,雖然主管給的筆記已經寫得很完美了,但覺得還是得理解吸收後並記錄自己的筆記後,好像才能有效吸收到腦袋裡
Thumbnail
看更多
你可能也想看
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
1. 如何分辨詐騙、避免被詐騙 2. 掃毒、增強帳號安全、多段驗證、安全金鑰 3.快速取回帳號
Thumbnail
1. 如何分辨詐騙、避免被詐騙 2. 掃毒、增強帳號安全、多段驗證、安全金鑰 3.快速取回帳號
Thumbnail
使用React.js實作CAPTCHA元件的步驟和技巧
Thumbnail
使用React.js實作CAPTCHA元件的步驟和技巧
Thumbnail
這邊練習串接Google reCAPTCHA,簡單介紹Google reCAPTCHA v3。 Google reCAPTCHA v3 是一種幫助網站和應用程序識別和阻止惡意機器人和自動化攻擊,它由 Google 提供,旨在與傳統的 reCAPTCHA v2 不同,reCAPTCHA v3 不需要使
Thumbnail
這邊練習串接Google reCAPTCHA,簡單介紹Google reCAPTCHA v3。 Google reCAPTCHA v3 是一種幫助網站和應用程序識別和阻止惡意機器人和自動化攻擊,它由 Google 提供,旨在與傳統的 reCAPTCHA v2 不同,reCAPTCHA v3 不需要使
Thumbnail
如何防止駭客及帳號被盜用時的處理方法 在網路即現實的時代,兩個月前我的臉書粉專帳號被盜用並且被移除管理權限,與臉書溝通求助將近四週卻仍舊沒被正視問題後,我在IG發布了這篇貼文,將整件事的經過寫了出來。 這件事情的發生,讓我更審慎地思考了很多網路財產和資訊安全的問題,因此決定寫下這篇文章,希望讓看到這
Thumbnail
如何防止駭客及帳號被盜用時的處理方法 在網路即現實的時代,兩個月前我的臉書粉專帳號被盜用並且被移除管理權限,與臉書溝通求助將近四週卻仍舊沒被正視問題後,我在IG發布了這篇貼文,將整件事的經過寫了出來。 這件事情的發生,讓我更審慎地思考了很多網路財產和資訊安全的問題,因此決定寫下這篇文章,希望讓看到這
Thumbnail
資料爬蟲是資料分析的起手式,必須有好的、可用的資料才得以進行高品質的資料科學專案,爬蟲也是資料科學領域開發者的第一項挑戰。但是當你學完爬蟲的技術之後,開始真的跳入爬蟲世界之後會發現有網站其實沒有想像中好爬。當自動
Thumbnail
資料爬蟲是資料分析的起手式,必須有好的、可用的資料才得以進行高品質的資料科學專案,爬蟲也是資料科學領域開發者的第一項挑戰。但是當你學完爬蟲的技術之後,開始真的跳入爬蟲世界之後會發現有網站其實沒有想像中好爬。當自動
Thumbnail
當你進入一個網站,系統為了要驗證你是不是機器人,提供好多圖片給你選,讓人不堪其擾,這時就讓privacy pass幫你解決吧!!!
Thumbnail
當你進入一個網站,系統為了要驗證你是不是機器人,提供好多圖片給你選,讓人不堪其擾,這時就讓privacy pass幫你解決吧!!!
Thumbnail
每年的5月8日是“世界密碼日”(World Password Day),Google通過其安全播客分享了如何使密碼管理更簡單更安全,同時,Google也正在計劃為使用者創造一個根本不再需要密碼的網路世界。這聽起來似乎有些不可思議,也許在未來你不用再擔心Line忘記密碼、iPhone密碼忘記的問題!
Thumbnail
每年的5月8日是“世界密碼日”(World Password Day),Google通過其安全播客分享了如何使密碼管理更簡單更安全,同時,Google也正在計劃為使用者創造一個根本不再需要密碼的網路世界。這聽起來似乎有些不可思議,也許在未來你不用再擔心Line忘記密碼、iPhone密碼忘記的問題!
Thumbnail
3月22日,No. 81,保護你的帳號最重要的事 如果你需要看這篇文章,可能你對資安毫無概念,我們就不要廢話介紹細節跟原理,只說結論跟方法。
Thumbnail
3月22日,No. 81,保護你的帳號最重要的事 如果你需要看這篇文章,可能你對資安毫無概念,我們就不要廢話介紹細節跟原理,只說結論跟方法。
Thumbnail
1. 設定cookie為HttpOnly 在一般的情況下,cookie是可以透過javascript來存取的(document.cookie),如同上一篇所說的,有可能會有XSS攻擊的風險。 將cookie設定為HttpOnly,表示這個cookie無法透過js存取。
Thumbnail
1. 設定cookie為HttpOnly 在一般的情況下,cookie是可以透過javascript來存取的(document.cookie),如同上一篇所說的,有可能會有XSS攻擊的風險。 將cookie設定為HttpOnly,表示這個cookie無法透過js存取。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News