我有一個頁面ajax_check_user_pass
通過AJAX檢查用戶的用戶名和密碼。
此頁中的Ajax代碼將用戶名和密碼張貼到php文件php_check.php
。 php_check.php
檢查用戶名和密碼以匹配數據庫。
如何確保php_check.php接收的用戶名和密碼來自ajax_check_user_pass
並且不是由某人僞造的?
我已經使用會話,但它不工作。另外,我知道檢查引薦來源不是可靠的。
在此先感謝。
我有一個頁面ajax_check_user_pass
通過AJAX檢查用戶的用戶名和密碼。
此頁中的Ajax代碼將用戶名和密碼張貼到php文件php_check.php
。 php_check.php
檢查用戶名和密碼以匹配數據庫。
如何確保php_check.php接收的用戶名和密碼來自ajax_check_user_pass
並且不是由某人僞造的?
我已經使用會話,但它不工作。另外,我知道檢查引薦來源不是可靠的。
在此先感謝。
事實是,您不知道是誰向您發送用戶名和密碼,他們必須輸入此信息的事實證明您不知道他們是誰,只要您清理髮布的信息它應該按照你想要的方式工作。
許多網站實施了最大次數的嘗試,但這真的取決於您。
他的問題不是「誰」,而是如何驗證請求的來源。 – thwd
「誰」是*起源,請求者的身份。 – jondavidjohn
>「我如何確保php_check.php收到的用戶名和密碼來自ajax_check_user_pass」 – thwd
這種類型的攻擊被稱爲CSRF,可以通過在會話中存儲挑戰令牌或Cookie,以避免在進行任何進一步操作之前,對錶單或Ajax調用在您的網站上發出的每個請求進行檢查操作。
閱讀:
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet
同時確保再生此令牌每隔X分鐘或Y瀏覽量,無論先來了。
這是我的觀點,CSRF在面向公衆的登錄表單上的保護似乎有點毫無意義... – jondavidjohn
真的很重要嗎?如果您擔心暴力破解,請在x次嘗試後實施自動阻止機制。 – Rijk
這是用戶輸入;它怎麼可能是假的?你試圖抵禦什麼攻擊? – Quentin