自己建了一个表格,连接了数据库,可以做增、删、查、改。我向表格中新增了一条带有js代码的数据,例如“<script>alert(1)</script>”,添加成功后 刷新数据 ,表格上只是把”<script>alert(1)</script>”显示出来了,并没有弹出‘1’。这是为啥?表格中的tr结构是用模板引擎生成的,这应该没关系吧,我直接将“<script>alert(1)</script>”放入td中是有弹出“1”的,为什么我写入数据库却是原样输出呢?另附图一张。
去看看xss攻击原理吧 就是楼主说的这个东西 正常情况下 这种默认都是会被模板引擎处理掉的 但是一般有参数可以设置不转义输出 但是要显式传入参数
######你的模板引擎帮你过滤了
######<script>标签已被转换为 <script> 没错,html标签都被转换了,这是为了防止脚本代码注入。
数据表格里边如果能通过显示数据的方式注入脚本代码,想想都觉得危险啊……
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。