基本上,我需要能够在处理之前从输入字段中删除脚本和html。我正在使用JQuery,并希望找到一种标准的方法来做这种事情。有什么想法吗?
答案 0 :(得分:3)
你的HTML:
<input class="striphtml" name="name" />
你的js:
$(document).ready(function() {
// strip all html when text in input changes
$(".striphtml").change(function(){
$(this).val( $(this).text() );
});
});
<强>结果:强>
<p>This is a test.</p>
将替换为:
<p>This is a test.</p>
注意:正如SLaks所说,你必须在服务器端验证你的INPUTS !!!
答案 1 :(得分:1)
您必须在服务器上执行此操作。如果您在客户端上执行此操作,则可以让人们亲自手工制作HTTP消息以发送到您的服务器,因为您知道您的服务器假定您的客户端代码逃脱了字符串。因此,由于您的服务器无法假定内容是安全的,因此 认为它不是安全的。 (否则你最终会对事物进行双重编码,这就变得很痛苦。)因此,客户端代码执行转义既不可能也不合适。
答案 2 :(得分:0)
答案 3 :(得分:0)
你根本不应该这样做。
相反,您应该在服务器上转义您的内容
这样,您就可以接受恶意输入(或<
字符),而不会受到它的伤害。