扫码关注官方订阅号
在我认知的范围内如果一个网页输入文本框使用了的话在中间编辑
之类的东西提交以后再取出来页面上貌似会执行alert事件的呢,但是并没有那是为啥?
人生最曼妙的风景,竟是内心的淡定与从容!
那是因为再textarea中的所有<>&“‘都被转义了,也就是在html中<使用<代替等,但是浏览器认知它将其显示为<,也就是你看到的时<script>,浏览器看到是<script> 自然就不执行
<script>
<script>
全角字符……
楼主是要防止XSS攻击,其实有两种方式避开这种攻击1.在客户端浏览器提交进来的时候就把提交数据该过滤过滤,该替换替换,随后入库2.客户端浏览器提交上来什么也不做,但是在输出的时候该过滤过滤该输出输出
但大家绝大多数会采取第一种
顺嘴提一句:不光textarea要防类似这种javascript攻击,任何由客户端浏览器的都要过滤。
1.像楼上提出的htmlspecialchars可以做到这一点,但一定要注意指定第二个参数。当然htmlspecialchars也不是万能的,这点要注意。
2.建议使用htmlpurity这个库,经历过历史的绝对考验,对于过滤输入强有力!墙裂推荐学习里面的常用用法!
手机竟然也码了这么多字
textarea里的内容在浏览器里会自动编码成实体字符<textarea><script>alert(1)</script></textarea>
<textarea><script>alert(1)</script></textarea>
需要先跳出textarea标签</textarea><script>alert(1);</script>
</textarea><script>alert(1);</script>
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
那是因为再textarea中的所有<>&“‘都被转义了,也就是在html中<使用<代替等,但是浏览器认知它将其显示为
<,
也就是你看到的时
<script>,浏览器看到是<script>自然就不执行全角字符……
楼主是要防止XSS攻击,其实有两种方式避开这种攻击
1.在客户端浏览器提交进来的时候就把提交数据该过滤过滤,该替换替换,随后入库
2.客户端浏览器提交上来什么也不做,但是在输出的时候该过滤过滤该输出输出
但大家绝大多数会采取第一种
顺嘴提一句:不光textarea要防类似这种javascript攻击,任何由客户端浏览器的都要过滤。
1.像楼上提出的htmlspecialchars可以做到这一点,但一定要注意指定第二个参数。当然htmlspecialchars也不是万能的,这点要注意。
2.建议使用htmlpurity这个库,经历过历史的绝对考验,对于过滤输入强有力!墙裂推荐学习里面的常用用法!
手机竟然也码了这么多字
textarea里的内容在浏览器里会自动编码成实体字符
<textarea><script>alert(1)</script></textarea>需要先跳出textarea标签
</textarea><script>alert(1);</script>