限制文本框中的HTML输入

限制文本框中的HTML输入,html,user-input,markup,Html,User Input,Markup,如何限制用户可以输入文本框的HTML类型?我正在运行一个小论坛,使用一些我正在测试的定制软件,但我需要知道如何限制HTML输入。有什么建议吗?提交文本后,您可以使用PHP中的正则表达式去除与预定义集不匹配的任何/所有标记 它看起来类似于以下内容: find open tag (<) if contents != allowed tag, remove tag (from <..>) find open tag(提交文本后,您可以使用PHP中的正则表达式去除与预定义集不匹配的任

如何限制用户可以输入文本框的HTML类型?我正在运行一个小论坛,使用一些我正在测试的定制软件,但我需要知道如何限制HTML输入。有什么建议吗?

提交文本后,您可以使用PHP中的正则表达式去除与预定义集不匹配的任何/所有标记

它看起来类似于以下内容:

find open tag (<)
if contents != allowed tag, remove tag (from <..>)

find open tag(提交文本后,您可以使用PHP中的正则表达式去除与预定义集不匹配的任何/所有标记

它看起来类似于以下内容:

find open tag (<)
if contents != allowed tag, remove tag (from <..>)
查找打开的标记(
  • 解析输入提供并去除与您允许的列表不完全匹配的所有html标记。这可以是一个复杂的正则表达式,也可以通过输入字符串的char[]进行有状态迭代,构建允许的输入字符串并去除标记上不需要的属性,如
    img

  • 使用不同的代码系统(BBCode、降价)

  • 在线查找一些已经执行此操作的代码,作为实现的基础。例如,Slashcode必须执行此操作,因此请在Perl中查找其实现,并使用正则表达式(我假设存在)

  • 解析输入提供并去除与您允许的列表不完全匹配的所有html标记。这可以是一个复杂的正则表达式,也可以通过输入字符串的char[]进行有状态迭代,构建允许的输入字符串并去除标记上不需要的属性,如
    img

  • 使用不同的代码系统(BBCode、降价)

  • 在线查找一些已经执行此操作的代码,作为实现的基础。例如,Slashcode必须执行此操作,因此请在Perl中查找其实现,并使用正则表达式(我假设存在)


  • 您没有说明论坛是用什么构建的,但如果是PHP,请查看:

    库功能:白名单、删除、格式良好、嵌套、属性、XSS安全、标准安全


    您没有说明论坛是用什么构建的,但如果是PHP,请查看:

    库功能:白名单、删除、格式良好、嵌套、属性、XSS安全、标准安全


    我建议采用一种稍微有点另类的方法:

    • 不要过滤传入的用户数据(除了防止sql注入之外)。用户数据应尽可能保持纯净
    • 过滤数据库中的所有传出数据,这是标记剥离等操作应该发生的地方

    保持用户数据的干净性可以让您更灵活地显示数据。过滤所有传出的数据是一个好习惯(在不信任数据的情况下)。

    我建议使用一种稍微替代的方法:

    • 不要过滤传入的用户数据(除了防止sql注入之外)。用户数据应尽可能保持纯净
    • 过滤数据库中的所有传出数据,这是标记剥离等操作应该发生的地方

    保持用户数据的干净可以让您在显示方式上更加灵活。过滤所有传出数据是一个好习惯(以及“永不信任数据”模式)。

    无论您使用什么,一定要知道什么类型的HTML内容可能是危险的

    e、