在HTML页面中显示纯PHP代码

时间:2010-08-20 10:09:45

标签: php html plaintext

我在这里讨论(特别是)论坛 - [PHP]代码[/ PHP] - 样式。有些论坛逃脱双引号或其他“危险角色”而其他论坛则没有。

最好的方法是什么?你们有什么用? 可以在不担心代码注入的情况下完成吗?

编辑:谁曾说过重新发明轮子的事情?

4 个答案:

答案 0 :(得分:7)

当PHP echoprint发短信时,它永远不会执行它。这只发生在eval。这意味着如果你这样做了:

echo '<?php ... ?>';

它会传递给页面输出而不会被解析或执行。

这意味着您需要做的只是逃避常用字符(<>&等等),您通常应该是安全的。

答案 1 :(得分:4)

不要重新发明轮子。我在你的问题中看到了BBCode。拿一个降价库并改为使用它。因此使用:http://daringfireball.net/projects/markdown/

答案 2 :(得分:3)

  1. 不用担心PHP代码注入(除非你正在做一些不寻常的事情,比如评估HTML模板)但总是担心JS代码注入,通常称为XSS。所有危险都来自可能的JS代码。
  2. 因此,HTML页面上显示的PHP代码没有特殊处理。只需将其视为任何其他数据。由于显而易见的原因,< >括号通常会被转义。
  3. 不要重新发明轮子。 PHP为此
  4. 提供了 highlight_string 功能

答案 3 :(得分:0)

如果您在某些页面上看到转义引号,那很可能是因为它们的脚本将它们转义两次(例如,magic_quotes只执行一次,然后再次使用mysql_query())。正确完成数据清理后,您不应在输出中看到转义字符。