我注意到許多JavaScript重度應用程序,如Gmail,谷歌文檔等(谷歌SSO)和其他網站不使用JavaScript來驗證他們的登錄表單。一般做法是將JS用作第一級驗證,將服務器端驗證用作第二級 那麼爲什麼人們不會使用JavaScript驗證登錄頁面?是否有任何特定的安全風險?爲什麼在登錄頁面中沒有使用javaScript?
回答
我想不出有什麼好的理由不要 - 至少要驗證是否輸入了用戶名/密碼字段。
是的,我希望是一樣的。但很多登錄頁面如Facebook,Google都沒有。只是想知道爲什麼。 –
您可以驗證電話號碼是否類似於Javascript中的電話號碼,這是一種簡單的格式驗證。
您無法驗證的登錄憑據是否使用Javascript有效,這有在服務器上發生。這是因爲它不是簡單的格式驗證,但服務器必須檢查數據庫中的信息是否與輸入的數據匹配。
您在JavaScript中可以做的最多的事情是驗證用戶名是否看起來像一個有效的用戶名(如果您有這樣的限制)或者密碼是否與有效密碼的規則相匹配(如果您有這樣的規則)。所做的是更快速地清除無效值。但特別是與登錄信息,你要而不是想加快進程。你希望這個過程儘可能慢以使攻擊者難以隨機地嘗試用戶名和密碼。
在谷歌SSO頁面中,空值檢查也在服務器端完成。在將它傳遞給服務器端之前,通過查找字符串長度可以很容易地驗證這一點。但他們不這樣做。 –
簡而言之,如果javascript被關閉,繁榮就會進行驗證。考慮到無法關閉表單,使用服務器端語言(如php)驗證表單是驗證表單的最有效且最安全的方式。
如果有人關閉他們的JS,他們可以創建一個沒有用戶名或沒有密碼的帳戶,所有你需要做的事情就是運行isset,這不可能發生。
登錄javascript應用程序有什麼意義?是的,一般做法是使用客戶端(JavaScript)和服務器端(服務器語言)驗證。由於編程方法(非瀏覽器)請求甚至不處理javaScript,所以服務器端驗證是必須的。 –
- 1. 使用C#登錄到Facebook頁面沒有登錄使用C#
- 2. Javascript登錄頁面
- 3. 爲什麼在登錄頁面上沒有響應ASP .NET會話cookie?
- 4. 爲什麼Logger沒有登錄?
- 5. 將登錄頁面重定向到登錄頁面(如果沒有登錄)(tanyacms)
- 6. 爲什麼用戶在登錄後重定向到新頁面
- 7. Android - 登錄頁面如果用戶沒有登錄
- 8. 爲什麼Javascript動態HTML5表沒有出現在頁面上
- 9. 爲什麼向@RequiresUser的請求沒有重定向到登錄頁面?
- 10. 在登錄頁面中使用FOUND_ROWS
- 11. 在PHP登錄頁面中使用cookie
- 12. HTML,Javascript,PHP登錄頁面
- 13. 爲什麼我在登錄後會彈出默認登錄頁面?
- 14. 爲什麼我的Google登錄會話在某些頁面上過期而沒有其他頁面?
- 15. 登錄頁面沒有任何反應
- 16. mynodejs登錄頁面沒有響應
- 17. Fastlink登錄頁面沒有呈現
- 18. Spring Security沒有顯示登錄頁面
- 19. 登錄頁面使用oracle sys.user $爲PHP
- 20. 頁面重定向 - 登錄後 - 退格 - 進入登錄頁面!爲什麼?也有會話
- 21. 爲什麼頁面無法通過代碼登錄FE用戶?
- 22. 爲什麼Selenium在登錄頁面後停止?
- 23. Android/Facebook - 爲什麼Facebook登錄頁面始終在變化?
- 24. 登錄頁面使用JQuery
- 25. 登錄頁面使用JSF
- 26. 爲什麼在使用asp.net登錄時直接打開默認頁面?
- 27. 使用Facebook登錄登錄無法在結帳登錄頁面上工作,但在登錄頁面上工作
- 28. Python請求登錄 - 返回的登錄頁面沒有錯誤
- 29. 重定向到登錄頁面,如果沒有登錄到facebook
- 30. 沒有登錄到所需的頁面登錄
驗證究竟是什麼? – epascarello
有什麼用? –
您可以在瀏覽器中關閉JavaScript。你走了。 – danronmoon