background image

PHP 中显示格式化的用户输入

你可以在这个页面下载这个文档附带的文件,也可以在文件下载中的字符处理中下载

这个文档描述如何安全显示的有格式的用户输入。我们将讨论没有经过过滤的输出的危险,
给出一个安全的显示格式化输出的方法。

  没有过滤输出的危险

  如果你仅仅获得用户的输入然后显示它,你可能会破坏你的输出页面,如一些人能恶
意地在他们提交的输入框中嵌入

JavaScript 脚本:

Thisismycomment.

scriptlanguage="Javascript:

alert('Dosomethingbadhere!')">.

  这样,即使用户不是恶意的,也会破坏你的一些

HTML 的语句,如一个表格突然中断,

或是页面显示不完整。

  只显示无格式的文本

  这是一个最简单的解决方案,你只是将用户提交的信息显示为无格式的文本。使用
htmlspecialchars()函数,将转化全部的字符为 HTML 的编码。

  如<

b>将转变为<b>,这可以保证不会有意想不到的 HTML 标记在不适当的时候输出。

  这是一个好的解决方案,如果你的用户只关注没有格式的文本内容。但是,如果你给出
一些可以格式化的能力,它将更好一些。

FormattingwithCustomMarkupTags