2017-06-29 227 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>?在中间删除脚本字符串后,会出现另一个脚本标记。你必须在服务器端检查你的输入。