0
A
回答
4
使用htmlentities
或htmlspecialchars
:
htmlentities
将尽一切HTML标签。
htmlspecialchars
将只是做:
& " ' < >
例
<input type="text" value="<?php echo htmlentities($text);?>" />
如果你这样做:
<input type="text" value="<?php echo $text;?>" />
其主要做:
value="18 " LCD TV"
所以"
18后关闭值属性
1
当你需要转义输出特殊字符(& ' " < >
)在HTML,1个方法是这样做的:
$name = htmlentities(' 18 " LCD TV ');
4
不使用htmlspecialchars
可能会导致跨站脚本攻击(搜索XSS)。使用此:
<input type="text" value="<?php echo htmlspecialchars($name, ENT_QUOTES);?>" />
这将HTML编码的报价,<,>,并在对应的HTML实体& simbols。见htmlspecialchars
或htmlentities
。
附录:这样做的理由是相同的概念,以防止SQL注入或壳牌执行代码:“过滤输入,转义输出”。每种介质都有特殊字符,在该介质中无法正常输出。对于XML/HTML,它们是',',<,>和&。对于SQL,它们是',“,\,\ 0等等。而对于Shell来说,他们是;,',',`,$等等。每当你启动对数据库的查询,在你的html中输出一些内容或者通过php在你的服务器上执行一些命令时,你需要把这个。考虑并为每个媒体PHP有它自己的保护功能:
- SQL:
mysql_real_escape_string
,mysqli_real_escape_string
,pdo_quote
,pg_escape_string
或准备语句 - HTML:
htmlentities
,htmlspecialchars
- 壳牌:
escapeshellcmd
,escapeshellarg
+0
+1不错的一个。就像你投入的额外信息一样。 – Tomgrohl
相关问题
- 1. PHP file_put_contents人品问题
- 2. 人品问题
- 3. PHP卷曲,XML内容人品问题
- 4. 阅读和检查人品问题
- 5. 的mysqldump与人品问题
- 6. DOMDocument和php html问题
- 7. Mysql html和php问题
- 8. HTML/PHP问题
- 9. PHP/HTML问题
- 10. html form-php问题
- 11. PHP/HTML的问题:(
- 12. asp.net的MVC meta描述人品问题
- 13. 爪哇 - 新线人品问题
- 14. 语法问题在PHP和HTML
- 15. 在html和php中使用$ _POST问题
- 16. 刮痧HTML与PHP和编码问题
- 17. 问题与印刷JavaScript和HTML用PHP
- 18. 问题与HTML和PHP语言
- 19. PHP HTML \ t和Tab的问题
- 20. HTML和PHP问题选择下拉
- 21. HTML和PHP的问题(get命令)
- 22. PHP的HTML表单和按钮问题
- 23. PHP的问题人物
- 24. Servlets和html问题
- 25. Ajax和HTML问题
- 26. php和问题
- 27. JS/PHP/HTML问题的onload
- 28. Php,Html选择问题
- 29. php preg_replace html标签问题
- 30. sql,php,html表问题
我们需要了解您如何试图在HTML中展示它。我的猜测是双引号提前关闭标签。 – cusimar9
它不显示它在哪里?你在哪里试图访问用户输入的值,在客户端的javascript中,还是在服务器端处理你的表单? – kinakuta