首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX 提问指南
广告
V2EX
›
问与答
安全地原样输出代码和 HTML 内容
gangsta
·
2014-04-23 11:49:41 +08:00
· 4644 次点击
这是一个创建于 3925 天前的主题,其中的信息可能已经有所发展或是发生改变。
之前没有什么PHP的Web应用经验,然后想当然的用bootstrap的<pre>和<code>标签直接输出了表单里取到的值
结果:
1.<script>alert("");</script> 这样的脚本会被直接执行...
2.<span style="color:red">百度</span> 会输出一个红色的百度
刚好应该也有很多朋友看到了,就直接和大家讨论下跨域注入和原样输出的问题吧.
在上面的例子中,如何保证:
1.<script>alert("");</script> 可以被原样输出且不被执行?
2.<span style="color:red">百度</span> 被原样输出且CSS样式不会被渲染呢?
span
script
输出
5 条回复
•
1970-01-01 08:00:00 +08:00
1
nervouna
2014-04-23 11:58:50 +08:00
http://cn2.php.net/htmlspecialchars
2
slixurd
2014-04-23 11:59:57 +08:00
转义以后保存,然后直接读出就好了
3
superbear
2014-04-23 12:43:04 +08:00
@
slixurd
转义后直接读出来,可能会让样式乱掉,比如用户提交</script>****之类的,错误地关闭前面的某个标签,样式就会乱
4
manhere
2014-04-23 12:56:57 +08:00
@
superbear
没有这个顾虑吧?因为连<>这些符号都被转义了,不存在错误闭合
5
sneezry
2014-04-23 13:08:53 +08:00
http://www.w3school.com.cn/php/func_string_htmlspecialchars.asp
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
1680 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms ·
UTC 16:36
·
PVG 00:36
·
LAX 08:36
·
JFK 11:36
Developed with
CodeLauncher
♥ Do have faith in what you're doing.