2014-02-20 60 views
0

想象一下,在HTML文件中,我有一個禁用的按鈕。我不如使用Firebug來啓用這個按鈕,提交也是如此。使用例如螢火蟲修改的禁用按鈕

我的問題是:有沒有什麼方法可以禁用此按鈕,即使修改Firebug中按鈕的禁用屬性,也不允許此提交?

我是否應該始終在服務器端處理這個問題,並認爲這種可能性會發生?

+0

您可以禁用使用js提交或完全刪除按鈕 – Huangism

+1

是的,您應該始終驗證提交服務器端,因爲無論您禁用了哪些內容以及如何修改表單,用戶都可以提交他希望... –

回答

0

是的,你應該總是驗證服務器端。客戶端驗證只是爲了便於客戶糾正並提供與他的交互,從而防止他提交所有數據,然後才發現正確格式或缺失字段,然後被迫重新填充所有字段。

該表格可能很容易被合併到另一個網站,然後表單的行爲指向您的網站或用戶在表單中注入一些惡意代碼/數據。 (請參閱:Wikipedia XSS

任何惡意用戶都可以輕鬆繞過禁用的HTML按鈕,通過製作Firebug或更糟糕的按鈕來激活它,即使您可以阻止它,他也可以簡單地創建HTML頁面並指向您的目標URL表單操作,或者甚至不創建頁面,都會發出AJAX請求。他甚至可以用cURL(或套接字)庫或任何其他編程語言來開發一個使用PHP的工具。 NET使用WebClient/WebRequest或帶HttpURLConnection的Java,在這兩種情況下,瀏覽器都會完成請求頁面或將數據發送到另一個頁面的操作(此任務可由任何Junior Developer在5分鐘內完成)

您不應該依賴用戶,也不應該將客戶端驗證視爲安全流程的一部分,因爲通過作爲客戶端,從那裏獲取的任何信息都可以輕鬆進行操作,如上例所示。