我只是想知道你如何去防止人們試圖欺騙你的腳本& POST'ing從遠程站點類似的形式..說例如嘗試&把額外的價值進入你所沒有的選擇領域或某種性質的東西。防止從遠程站點POST'ing
0
A
回答
3
要防止Cross-Site Request Forgery (CSRF),您應該使用所謂的CSRF令牌來驗證請求的真實性。此外,您可以檢查HTTP Referer,並且只允許交易爲空(不存在)或您的某個地址。更多信息請參見OWASP’s Cross-Site Request Forgery (CSRF) Prevention Cheat Sheet。
1
最好的辦法是創建一個由用戶代理,ip和時間幀生成的md5密鑰。然後將其存儲在數據庫中並將其填充到隱藏文本字段中,以便提交時可以重新驗證值。
您也可以使用$ _SERVER ['HTTP_REFERER']來獲取請求來自並根據您網站的URL進行驗證。請記住,這是由用戶Web瀏覽器設置的,因此可能會被欺騙。這裏是可用的$ _SERVER變量及其描述的列表。 http://www.php.net/manual/en/reserved.variables.server.php
相關問題
- 1. 防止遠程站點HTML從受着CSS
- 2. HTML解析:如何從遠程站點
- 3. 從遠程站點加載html模板
- 4. Rails +從遠程站點讀取json
- 5. 如何從遠程站點獲取window.varName
- 6. JQuery從遠程站點加載內容
- 7. 防止使用PHP CURL登錄到網站的遠程腳本
- 8. 從遠程p2站點創建本地p2站點?
- 9. rsync遠程站點與bash
- 10. 遠程站點在Salesforce
- 11. PHP網站防止XSS有點太好
- 12. 防止跨站點請求僞造
- 13. 防止IIS卸載ASP.Net站點
- 14. 防止XSS(跨站點腳本)
- 15. 防止站點導航重疊標題
- 16. 防止PHP中的跨站點腳本
- 17. 如何防止跨站點訪問
- 18. 防止跨站點腳本在wtrealm
- 19. Django多個站點:防止跨站點認證
- 20. _remote.repositories防止maven解決遠程父母
- 21. 防止預計對遠程shell命令
- 22. 防止永遠啓動重複進程
- 23. jQuery驗證 - 防止在遠程提交
- 24. 防止從分支推到特定的遠程
- 25. 如何防止Pagespeed從遠程服務器緩存圖像?
- 26. 從整個網站下載的防止?
- 27. 防止網站從請求外部src
- 28. 防止Safari從緩存熱門網站
- 29. 防止UIWebView滾動太遠
即使限制只從服務器發佈數據,您也無法防止發生這種情況,人們可以使用JS和插件(如firebug)來修改頁面的html並提交修改後的數據。請記住,您絕對不能信任用戶輸入,並始終驗證服務器端的所有內容。事實上,如果一個人想要提交他們的修改信息,他們會以某種方式或另一種方式。最好的保護措施就像上述的令牌和引用者檢查一樣,但引用者可能被欺騙,並且可以在發佈之前從您的站點檢索令牌。 – 2011-03-19 22:34:10
唯一的絕對解決方案將基於IP .htaccess限制,您將腳本完全分開處理表單,然後只允許您的服務器的IP訪問該腳本。即使如此,如上所述,javascript等可用於修改表單,並且您需要驗證。 – 2011-03-19 22:37:32