html以text文件输出(防止脚本强攻)
html以text文件输出(防止脚本攻击)
假如页面有很多个<td><td>标签,现在要向它们之中输入内容,如“<script>alert('XSS td')</script>”。
问题:如果让这些(注意是很多个)要输入的内容,以text文本的形式输入而不是以Html的形式输入呢?
目的:让html内容标签失效
------解决方案--------------------
正则匹配html标签替换掉
------解决方案--------------------
将<>替换为<>
------解决方案--------------------
推荐你用下 Firefox 然后搜索 xss 相关插件,我记得有一个很好使,自带常用的攻击字符串,还会自动尝试攻击
------解决方案--------------------
这个你自己设置浏览器禁用js罗。。这个没办法。。
要么你试试将内容放到一个隐藏的textarea容器里面,这样是不会执行的js脚本的,然后用js替换掉script标签后在设置容器的innerHTML显示内容
------解决方案--------------------
输出的时候 直接把他转义掉就行了 ,另外如果是手机版的web页面 可以在Js里面自己写一个 字符解析函数 然后包装所有你要现实的信息 输出 就不会出现 这样的问题了
------解决方案--------------------
假如页面有很多个<td><td>标签,现在要向它们之中输入内容,如“<script>alert('XSS td')</script>”。
问题:如果让这些(注意是很多个)要输入的内容,以text文本的形式输入而不是以Html的形式输入呢?
目的:让html内容标签失效
------解决方案--------------------
正则匹配html标签替换掉
------解决方案--------------------
将<>替换为<>
------解决方案--------------------
推荐你用下 Firefox 然后搜索 xss 相关插件,我记得有一个很好使,自带常用的攻击字符串,还会自动尝试攻击
------解决方案--------------------
这个你自己设置浏览器禁用js罗。。这个没办法。。
要么你试试将内容放到一个隐藏的textarea容器里面,这样是不会执行的js脚本的,然后用js替换掉script标签后在设置容器的innerHTML显示内容
------解决方案--------------------
输出的时候 直接把他转义掉就行了 ,另外如果是手机版的web页面 可以在Js里面自己写一个 字符解析函数 然后包装所有你要现实的信息 输出 就不会出现 这样的问题了
------解决方案--------------------
//是要这个效果么,不行我再改
<!DOCTYPE html>
<html>
<body>
<script>
function myFunction()
{
var tr = document.getElementsByTagName("td");
var str ="";
for(var i=0;i<tr.length;i++){
str+="<td>"+tr[i].innerHTML+"<script>alert('XSS td')</script></td>";
}
document.write(str);
}
</script>
<table>
<tr>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
</tr>
</table>
<button type="button" onclick="myFunction()">点击这里</button>
</body>
</html>