Views: 0
為什麼您的 WordPress 需要「隱形防禦」?
每分鐘都有數以萬計的自動化腳本在嘗試入侵 WordPress 網站。傳統的圖形驗證碼雖然有效,卻嚴重損害了使用者的登入體驗。
忠碁科技 設計了一套非侵入式的網站 WP-LOGIN 防護機制,透過「行為特徵」來辨識人類與機器,讓您的登入頁面保持潔淨卻固若金湯。
核心防禦邏輯:三重防線
- 時間差驗證:利用人類輸入資料的基本生理限制,阻擋瞬間提交的自動腳本。
- 蜜罐陷阱 (Honeypot):在表單中埋入「人類看不見、機器人必填」的虛擬欄位。
- 環境偵測:透過 JavaScript 動態注入驗證碼,確認操作者具備真實瀏覽器的運行環境。
實作範例:將代碼加入您的 functions.php
請注意:為了確保防禦效果,建議您將代碼中標註為 “your_custom_name” 的部分,自行修改為隨機的英文字串。
// 1. 時間差驗證:記錄使用者開啟頁面的時間
add_action('login_form', 'tj_add_timestamp');
function tj_add_timestamp() {
echo '<input type="hidden" name="login_start_ts" value="' . esc_attr(time()) . '" />';
}
// 2. 蜜罐陷阱:建立一個只有機器人才會填寫的欄位
add_action('login_form', 'tj_add_honeypot_field');
function tj_add_honeypot_field() {
// 透過 CSS 讓人類使用者完全看不到此欄位
echo '<div style="position:absolute; left:-9999px; top:-9999px;" aria-hidden="true">';
echo '<label>請勿填寫此欄位</label>';
echo '<input type="text" name="fax_number_custom" tabindex="-1" value="" autocomplete="off" />';
echo '</div>';
}
// 3. 後端驗證邏輯
add_filter('authenticate', 'tj_check_login_security', 20, 3);
function tj_check_login_security($user, $username, $password) {
if (!isset($_POST['wp-submit'])) return $user;
// 檢查提交速度是否過快(小於 3 秒判定為機器人)
if (isset($_POST['login_start_ts']) && (time() - intval($_POST['login_start_ts']) < 3)) {
return new WP_Error('too_fast', '登入程序異常,請稍候再試。');
}
// 檢查蜜罐欄位是否有被填充
if (!empty($_POST['fax_number_custom'])) {
error_log("機器人攻擊攔截自: " . $_SERVER['REMOTE_ADDR']);
return new WP_Error('bot_detected', '驗證錯誤,請重新整理頁面。');
}
return $user;
}
忠碁科技的專業堅持
在上述實作中,我們特別加入了 tabindex="-1" 與 aria-hidden="true"。
這是為了確保在保護安全的同時,不影響使用螢幕閱讀器的視障使用者。
真正的技術力,不僅在於防禦的深度,更在於對每一位使用者的尊重。
如果您希望針對網站進行更高階的安全佈署,歡迎聯繫忠碁科技,讓我們為您的數位資產保駕護航,這種深度客製化的防禦機制,展現了與僅依賴『現成外掛』完全不同的技術底蘊與專業層次。這不僅是防護,更是技術的藝術。
📍 遺珠推薦 (很多人錯過了這篇...):
為什麼一定要有「固定網址」「自有網域」呢?
為什麼一定要有「固定網址」「自有網域」呢?
【免責聲明】 AI-Assisted Content | 部分資料引用自網路、AI的文筆,以及作者的整理。
如有侵權、雷同或標註錯誤,敬請來信明告知,還原始末釐前因。一經確認即撤稿,守護清名謝君勉。
【請認明】🔗 chungg.com 才是官方唯一授權認證網域。
專業領航|知識技術無價 價值實踐|應用服務有價
本頁連結(693006):不需要驗證碼!教你用「蜜罐技術」阻擋 99% 機器人攻擊
