【问题标题】:How to display user submitted text safely? [closed]如何安全地显示用户提交的文本? [关闭]
【发布时间】:2015-05-17 11:54:15
【问题描述】:

我有一个带有用户可以编辑的文本字段的表单,它将在网站上创建一个包含输入文本的页面。如何确保生成的页面不显示任何恶意内容,没有链接、图像或代码,只有原始文本?目前来自 php,我正在使用 htmlspecialchars(),当在页面上显示文本时,它位于 xmp 标记内。这够了吗,还是我应该明确地做一些事情,比如验证脚本标签等?

编辑:这个问题与建议的问题不同,因为我没有使用 sql。

编辑 2:我接受了 strip_tags。我现在使用 htmlspecialchars(strip_tags("input")) 验证来自 php 的用户输入,并在显示时包装在 xmp 标签中。

【问题讨论】:

  • 欢迎,反正你进入了这个网站,看看这个q&a,这是这个网站上最受欢迎的问答之一...stackoverflow.com/questions/60174/…
  • 谢谢。我没有使用sql,所以你链接的问题不是很有用。
  • 那么 strip_tags 是终极解决方案...

标签: php html forms validation input


【解决方案1】:

您可以使用 strip_tags - 它会删除标签中的所有内容。 http://php.net/manual/en/function.strip-tags.php

【讨论】:

  • 谢谢,我现在正在做 htmlspecialchars(strip_tags("text")) 作为 php 验证。
【解决方案2】:

首先:为您的数据库存储、更新等使用准备好的语句...

第二:你应该使用htmlspecialchars()函数转义输出,它只会将特殊字符转换为HTML实体,所以如果你在那里放一个脚本标签,它就不会运行。

除非您希望您的用户像在 StackOverflow 中一样发布代码,否则您可以像 @user2182349 指出的那样使用 strip_tags() 函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多