我使用html entities
来保护我的网站
我的客户想要使用CMS在他的帖子中添加链接
如何在html实体中制作异常?
我的代码示例:
<p><?php echo h($row['message']) ?></p>
//h is my function for htmlentities
我的代码显示此消息:
"You can click this link <a href="###">Link</a>"
//And I dont know my data insert '\'
//It become <a href=\"###\">Link</a>
如果我的问题不明确,请询问 真的很感激。
答案 0 :(得分:0)
我相信你想做的是用htmlentities()传入数据库,这样就不会弄乱你的数据库。要检索它们,您将使用html_entity_decode()。 html_entity_decode()将所有带有HTML实体的字符串转换回原始字符串。
http://php.net/manual/en/function.html-entity-decode.php
希望这能回答你的问题。
编辑:
检索到的原始数据:http://www.example.com
通过htmlentities,它会吐出HTML实体,浏览器在尝试查找该页面时无法解释这些实体。使用htmlentities()
(如果我错了,请纠正我)是在将用户输入传递给其他地方之前对其进行编码。
用户输入:<script>hacks</script>
通过了htmlentities:
<script>hacks< (whatever backslash is)script>
(这样它就不会弄乱你的数据库中的任何东西,更好的例子是PHP / MySQL的使用,但我现在不太精通这个确切的例子。)
然而,这会在解码时暴露您的网站,并且必须采取其他预防措施。
答案 1 :(得分:0)
试试这个:
<?php
$link = h(stripslashes($row['message']));
?>
You can click this link <a href='<?php echo $link; ?>'>Link</a>