2012-05-07 22 views
0

我有一個包含文本框和textarea的窗體。我想驗證它停止使用文本框或textarea注入腳本。我需要使用jQuery或JavaScript來做到這一點。如何在使用jquery或javascript的文本框或textarea中禁止腳本注入?

是否有RegEx可用於該方法或任何其他方式來檢測和停止腳本。

+1

你應該考慮的第一件事是如何在服務器上驗證它。因爲無論你使用javascript放在客戶端上的什麼驗證,任何用戶都可以簡單地禁用他的JavaScript或製作一個HTTP請求並將任何他喜歡的輸入發送到服務器。一旦確保在服務器上執行正確的驗證,您可以考慮進行一些JavaScript驗證,以避免浪費帶寬並改善用戶體驗。請記住,客戶端驗證不是真正的驗證。 –

+0

可以使用HttpUtility.HtmlEncode如[該SO線程] [1] [1]提及了:http://stackoverflow.com/questions/4281746/javascript-injection-attack-prevention-for-文本框 – Krishna

回答

0

Take a look at ReForm by OWASP:

改革是一個工具,它正是這樣做的。改革允許你逃避你的數據爲JavaScript,XML,HTML或VBScript(是的,它仍然存在)上下文。它爲Java,.NET,PHP,Perl,Python,Javascript和ASP提供了庫。其次,你也必須在服務器端進行驗證。瀏覽器中可以輕鬆禁用JavaScript。

1

如果您只是將其保存在數據庫中,則不需要執行任何操作。如果您打印出HTML頁面中的值,請首先對其進行HTML編碼。不需要驗證。

相關問題