我想知道是否真的有必要在JS和PHP中進行驗證? 我有我的提交按鈕JS document.myform.submit()
與PHP POST發送到同一頁面。 如果用戶禁用JS,他無法發送表單。 所以我想問一下安全問題,有人可以繞過javascript以另一種方式發送變量嗎?他們將如何做到這一點? 如果他們可以的話,如果我應該在PHP中驗證的答案是YES,對吧?使用PHP和Javascript安全進行表單驗證
0
A
回答
1
是的,有人可以使用python中的urllib2
發送變量。這很容易做到。如果你只打算做一組驗證,那麼在服務器端進行。做客戶端不過是對用戶的禮貌。
作爲是多麼容易的例子:
import urllib2
variables = {'variable1': value1, 'variable2': value2}
urllib2.urlopen('http://yoursite.com/index.php/yourform', variables)
# your form has now been spoofed.
添加頁眉和cookie管理欺騙任何用戶代理是一樣瑣碎
0
在服務器端始終驗證。 JavaScript驗證很好,但可以輕鬆繞過。 攻擊者可以僞造帶有惡意數據的HTTP POST請求到您的表單的URL,然後該URL將被無標註地輸入您的系統。
3
答案很簡單。
服務器端是強制性的,必須無條件地完成。
客戶端驗證是可選的,只是爲了用戶的方便。
因此,確認雙方是沒有必要的,但首選的可用性
如果用戶禁用JS的緣故,他不能繼續發送形式。
lol。用戶可以將表單保存在本地磁盤上並以他們想要的方式進行編輯。
0
就像每個人都回答 - 不要只依賴客戶端驗證。這很容易濫用,甚至不必將網頁保存到磁盤,他可以使用libcurl或任何其他HTTP庫,或者只是玩Firebug等。
儘管在客戶端驗證是非常「用戶友好」的。您可以將Ajax驗證添加到您的表單中,但這仍然只是方便,應該依賴於服務器端代碼。
0
我完全同意上面的所有人 - 客戶端主要是爲了填表人。服務器端更多的是確保你沒有被定位。
如果你想要一個漂亮的客戶端驗證腳本,我寫了一個 - 免費下載和使用,並非常可定製。它甚至會錯誤拼寫電子郵件地址並提出正確的版本。如果你有興趣,你可以在這裏:
http://www.blackboxtechnology.co.uk/free-stuff/javascript-form-checker.php
享受!
相關問題
- 1. 使用javascript進行PHP表單驗證
- 2. PHP表單驗證和XSS安全
- 3. 使用php和javascript進行表單驗證
- 4. 使用Javascript或PHP驗證我的表單更安全嗎?
- 5. 使用JavaScript進行表單驗證
- 6. 使用javascript進行xsl表單驗證
- 7. 使用Javascript進行HTML表單驗證
- 8. 使用Javascript進行Django表單驗證
- 9. 使用PHP進行表單驗證
- 10. 使用PHP進行JQuery表單驗證
- 11. 使用GUMP進行PHP表單驗證
- 12. 使用PHP和JavaScript驗證表單?
- 13. 表單驗證 - 使用PHP和Javascript
- 14. 在一個PHP文件中使用javascript進行表單驗證
- 15. 使用PHP和javascript進行HTML表單驗證的簡單方法
- 16. 表單驗證 - 安全
- 17. 使用Javascript或PHP進行驗證?
- 18. 良好和安全的表單驗證
- 19. 使用JavaScript和html進行表單驗證
- 20. 使用Data Annotations和JavaScript進行模型/表單驗證
- 21. 同時使用HTML5和Javascript進行表單驗證
- 22. 使用jQuery和php進行表單驗證
- 23. 一起使用ajax,jQuery和php進行實時表單驗證
- 24. 使用AJAX,Jquery和PHP進行表單驗證
- 25. 使用JavaScript進行驗證
- 26. 使用php的JavaScript表單驗證
- 27. 使用javascript的php表單驗證
- 28. 使用grails和spring安全進行跨域身份驗證
- 29. Jquery驗證:用javascript提交表單並且不進行驗證
- 30. JavaScript表單驗證改進
只是個人觀點 - 您可以考慮允許在沒有javascript的情況下提交。就我個人而言,我運行允許運行javascript的網站白名單。作爲禮節,您的javascripted表單可以告訴我,在提交之前是否輸入了錯誤的值。但是,在javascript被阻止的情況下,儘管我可以改變你的webform行爲客戶端或者使用套接字調用來完全繞過表單,但我完全不能使用你的網站作爲普通用戶。 – 2010-08-09 09:33:58