如何防范XSS攻击
程序员文章站
2022-04-27 15:11:07
...
各位大神们,我的留言评价功能,不能防范 '>
='>
等这类代码的攻击,但是我看CSDN论坛就没关系,该怎么做才能像论坛一样不怕这类字符的攻击啊?
如果实在没办法,我如果仅接受中英文(大小写)、数字,标点符号等写普通文章会用到 的字符,该怎么写代码呢?
谢谢!
我是怎么用过滤呢?例如我提交的 input name=bid,htmlspecialchars 函数是怎么用呢?
另外,我学习了一下,这个函数是干嘛的?http://www.w3school.com.cn/php/func_string_htmlspecialchars.asp上面说把预定义的字符转换为 HTML 实体。我看字符没变化呀?这是什么道理?
& (和号)成为 &
" (双引号)成为 "
' (单引号)成为 '
> (大于)成为 >
='>
等这类代码的攻击,但是我看CSDN论坛就没关系,该怎么做才能像论坛一样不怕这类字符的攻击啊?
如果实在没办法,我如果仅接受中英文(大小写)、数字,标点符号等写普通文章会用到 的字符,该怎么写代码呢?
谢谢!
回复讨论(解决方案)
提交评论时使用htmlspecialchars函数过滤一下
可以使用PDO啊~~
哥,恕我愚钝。如果我是这样的代码结构:
$bid=$_POST['bid']
...
$sql= insert into “abc”(‘bid’)values ($bid) ....
我是怎么用过滤呢?例如我提交的 input name=bid,htmlspecialchars 函数是怎么用呢?
另外,我学习了一下,这个函数是干嘛的?http://www.w3school.com.cn/php/func_string_htmlspecialchars.asp上面说把预定义的字符转换为 HTML 实体。我看字符没变化呀?这是什么道理?
& (和号)成为 &
" (双引号)成为 "
' (单引号)成为 '
> (大于)成为 >
还有,如果转换了,我的理解是在数据库显示的转换了,那为什么显示在页面上又是原来用户输入的样式和内容呢?是不是还要解个码什么的?