如何限制用户直接将html或javascript或xml文本直接粘贴到textfield或textarea中。
实施例。如果我有带文本字段的网页,我想在将数据提取到服务器之前验证该文本字段,对于原始html或xml或javascript等。
我想从用户端限制此类输入。
答案 0 :(得分:1)
简短的回答:你不能!
虽然可以在将数据发送到服务器之前进行一些JavaScript过滤,但您不能依赖用户无法绕过此类检查。永远不要信任用户数据,始终安排(额外)服务器端检查!现代Web应用程序技术(jsf等)将阻止HTML和脚本输入在输出页面上变为活动状态。对象关系数据库映射或预准备语句也是如此,这有助于避免SQL注入。根据我的经验,将用户视为愚蠢或邪恶以最终使用符合人体工程学和安全的应用程序是有帮助的。
答案 1 :(得分:0)
您可以使用Class StringEscapeUtils。它有助于逃避和解读Strings for Java,Java Script,HTML和XML。
答案 2 :(得分:0)
限制用户表单输入除文本以外的字符可能是您可以开始的方法,但是限制任何类型的输入将是一个长镜头。
要仅在客户端清理文本,您可以在文本框中使用字符串来匹配正则表达式。
例如: -
var sanitize = function(event){
match = event.target.value.match(/^[a-zA-Z ]*$/gi);
if(!match){
alert("special char entered");
}
}
将类似的内容附加到textfields onChange事件。 PS: - 以上示例非常简陋,仅用于演示目的。