一個人可以來創建一個帳戶。 我在客戶端實現了一個很好的驗證,例如,如果他沒有提供有效的電子郵件地址,我會馬上通知他,這是不合法的電子郵件(帶有客戶端JavaScript)。我應該像客戶端驗證一樣在服務器端重複客戶端的表單驗證嗎?
但是攻擊者很容易繞過客戶端驗證。所以我也在服務器端使用了相同的驗證。但區別在於用戶體驗。例如,如果客戶端的JavaScript被禁用,並且用戶提供了無效的電子郵件,那麼應用程序會告訴他錯誤(表單提交併刷新頁面後)。沒有更多信息。 (因爲我認爲他是攻擊者,所以我的網站應該對攻擊者有非常糟糕的用戶體驗)。
現在我的問題是:如果我這樣做,我的網站的用戶體驗會好嗎? (在客戶端向用戶報告錯誤,但在服務器端很糟糕,服務器端在提交完整驗證失敗後返回'錯誤')。
更多的解釋:
每當用戶類型無效文本輸入,應用程序會告訴他就在與他已經沒有輸入有效的文本紅色文字輸入的底部。 (這會因客戶端JavaScript而發生)。
但是,如果某種方式客戶端JavaScript已被禁用,並且用戶輸入無效文本到輸入中,服務器端將在頁面提交後返回'錯誤'給用戶。
是的,這正是我所做的。但是,服務器端應該返回關於問題出在哪裏的良好信息?或者只是像'錯誤'這樣的消息在每個失敗的表單驗證中都可以正常工作?因爲我認爲他是攻擊者,所以用戶體驗越差越好。請閱讀更多解釋。 – Joseph
國際海事組織,如果用戶正在顛覆你的客戶端驗證我不在乎,如果他們得到好消息,因爲他們試圖打破反正。 – gforce301
那麼黑客和惡意用戶會在客戶端禁用javascript嗎?做普通用戶禁用,所以我需要在服務器端的高用戶體驗錯誤報告系統,以防止客戶端JavaScript被禁用? – Joseph