有什麼方法可以用來保護登錄頁面無法通過遠程PHP腳本使用CURL登錄?檢查引用者和用戶代理將不起作用,因爲可以使用CURL進行設置。理想的解決方案是在不使用驗證碼的情況下解決這個問題,這個問題的關鍵在於試圖弄清楚這是否可能。防止使用PHP CURL登錄到網站的遠程腳本
回答
一種方法是包括一些JavaScript在您的登錄表單,並讓這個形式不可能被成功提交,除非該JavaScript有運行。這使得您的登錄表單僅適用於開啓了JavaScript的人員,這是CURL沒有的。如果必要的JavaScript是某種挑戰/響應每次都不相同(例如使用類似http://www.ohdave.com/rsa/這樣的東西來使其不重要),那麼表單中正確設置的值的存在就是JavaScript運行的良好證據。
雖然您將無法停止所有自動化腳本,但編寫用於驅動實際瀏覽器引擎的腳本非常容易,他們將通過此測試。
沒有任何方法可以簡單地阻止它。如果腳本知道用戶名和密碼,他們將能夠登錄。
您可以使用驗證碼,以便自動登錄無法讀取它,但這也會對實際用戶造成負擔。
如果您擔心它被用於嘗試和強制登錄,那麼在多次嘗試後可能需要一些附加信息。
- 禁用帳戶,並需要通過電子郵件激活
- 需要經過幾次不成功的嘗試
很好的答案。您也可以在登錄頁面上使用JavaScript,並使用一些令牌來驗證cURL難以處理的情況,但最終無法阻止cURL,因爲它像Web瀏覽器一樣工作。請注意,要求JavaScript使用您的網站通常是一種罪過。 –
驗證碼,如果我已瞭解正確:
- 你已經登錄頁面什麼執行登錄腳本
- 登錄腳本被遠程cURL腳本攻擊...
解決方案 在登錄頁面放置帶有祕密唯一代碼的隱藏元素只能發生一次,在會話中保存此密碼,在登錄腳本中查看此代碼的會話,與發佈到腳本的內容進行比較,着手,明確會議...
更多關於主題:http://en.wikipedia.org/wiki/Cross-site_request_forgery
您將無法使用會話阻止cURL。它只需要一個稍微複雜的腳本來接受和發送cookie。 – Jacob
cURL與任何其他客戶端(例如瀏覽器)沒有區別。你可以在一個隱藏的輸入字段中使用與會話綁定的nonce來防止直接發出POST請求,但是仍然有解決方法。限制每分鐘登錄嘗試的次數也是一個好主意,如果這是你擔心的事情,那麼使暴力攻擊變得更加困難。
- 1. 用PHP cURL登錄到遠程站點
- 2. 使用PHP CURL登錄到遠程網站
- 3. PHP + cURL網站登錄'403禁止'
- 4. cUrl無法登錄到遠程站點
- 5. PHP使用cURL登錄一個網站
- 6. 使用cURL和PHP登錄網站
- 7. PHP cURL登錄網站
- 8. 使用curl進行遠程登錄(php)
- 9. 使用腳本登錄到網站
- 10. PHP cURL登錄到一個網站
- 11. 登錄網站cURL
- 12. 使用curl登錄到網站
- 13. 一次登錄多個網站的腳本。嘗試CURL和PHP。
- 14. 使用PHP腳本的我的網站登錄腳本
- 15. 需要幫助使用cURL以PHP登錄遠程站點
- 16. 通過腳本CURL登錄到Joomla網站
- 17. 如何使用腳本遠程登錄到站點?
- 18. 使用捲曲自動登錄到遠程網站php
- 19. cURL與PHP問題登錄到https://遠程站點
- 20. 在php中使用curl登錄到需要csrf_token的網站
- 21. 使用cUrl登錄我的網站
- 22. 使用PHP和cURL登錄到沒有登錄表單的網站
- 23. 遠程登錄到DotNetNuke網站
- 24. 使用Python腳本登錄網站
- 25. 在PHP Curl中使用瀏覽器cookie登錄到網站
- 26. 從我的網站登錄到遠程網站
- 27. 使用curl和php登錄到遠程服務器
- 28. 請求並使用curl登錄網站
- 29. 使用cURL進行網站登錄
- 30. 使用cURL自動網站登錄
你爲什麼想要禁止cURL訪問?如果這是一筆大交易,請添加reCAPTCHA。 –