2017-06-29 268 views
0

我從輸入型這樣的值:防止輸入型攻擊

var num  = $(document).find('#num').val(); 

我試圖避免用下面的代碼XSS攻擊的輸入類型:

num = jQuery(num).text().replace('script', '') ; 

但它不工作。還有其他想法?

+0

如果用戶應該在''#num''鍵入一些HTML控制你可能需要一個完整的HTML禁制庫。它在用戶輸入不應該是HTML,就不要試圖去執行它本身。 –

+0

一個例子:輸入'RM -rf/*'在一個textarea並不意味着任何危險。但是,如果您在shell中執行原始textarea輸入,它可能會造成傷害。 –

回答

1

即使此代碼的工作,你不能避免使用javascript XSS攻擊。如果你想這樣做:$(document).find('#num').val($(document).find('#num').val().replace('script',''));

現在你有價值在你輸入哪些腳本字符串被刪除,但如果有人在你的輸入中寫入<scscriptript>?在中間刪除腳本字符串後,會出現另一個腳本標記。你必須在服務器端檢查你的輸入。