问题描述
|
基本上,我需要能够在处理之前从输入字段中删除脚本和html。我正在使用JQuery,希望找到一种执行这种操作的标准方法。有任何想法吗?
解决方法
您的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所述,您必须在服务器端验证您的输入!
, 您必须在服务器上执行此操作。如果在客户端上执行此操作,则您会知道有人假设您的服务器假定您的客户端代码转义了字符串,从而使人们可以手工制作HTTP消息发送到服务器。因此,由于您的服务器无法假定该内容是安全的,因此必须假定该内容是不安全的。 (否则,您最终会进行双重编码,这会很麻烦。)因此,让客户端代码进行转义既不可能,也不合适。
, 这是您需要的出色教程。正如SLaks所说,请在服务器端进行操作。清理您的输入
讲解
您可以使用特定字符进行一些正则表达式工作,但这只会有所帮助。
, 您根本不应该这样做。
相反,您应该在服务器上转义内容。
这样,您可以接受恶意输入(或<
个字符)而不会受到伤害。