服务器端也要验证过。。客户端的js验证是可以绕过的。。正则判断下内容
<script type="text/javascript">
function checkData() {
var t = document.getElementById('name');
if (/['")-><&\\\/\.]/.test(t.value)) {
alert('包含特殊字符,不允许提交!');
}
}
</script>
<div>
<textarea id="name"></textarea>
<input type="button" value="提交" id="commit" onclick="checkData()" >
</div>不过提交这种字符串无所谓吧。。
<script type="text/javascript">
function checkData() {
var t = document.getElementById('name');
if (/['")-><&\\\/\.]/.test(t.value)) {
alert('包含特殊字符,不允许提交!');
}
}
</script>
<div>
<textarea id="name"></textarea>
<input type="button" value="提交" id="commit" onclick="checkData()" >
</div>不过提交这种字符串无所谓吧。。
提交的时候 是需要把 <>这些符号带上的 比如一本书的名字 必须得用到那些字符 可是 到了 安全同事那块 就会有拦截·····
或者给textarea增加onblur事件执行checkData事件也行
替换为实体也不行。。&就直接干掉多有实体内容了。。至少要放过&这个字符,然后替换为实体
' '
" "
< <
> >其他的实体不常用,不知道什么。。
替换为实体也不行。。&就直接干掉多有实体内容了。。至少要放过&这个字符,然后替换为实体
' '
" "
< <
> >其他的实体不常用,不知道什么。。en 有些事不怎么常用 到时也会用到 &这个基本上没怎么用到过 可以考虑其他方法 单独搞一下 能否把常用的这些 写个公用的方法 把内容当参数
var entry = { "'": "'", '"': '"', '<': '<', '>': '>' };
v = v.replace(/(['")-><&\\\/\.])/g, function ($0) { return entry[$0] || $0; });
return v;
} var v = checkData('<书名啊>\'"');
document.write(v)