Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php HTML净化器过滤器入站或出站或两者?_Php_Mysql_Htmlpurifier - Fatal编程技术网

Php HTML净化器过滤器入站或出站或两者?

Php HTML净化器过滤器入站或出站或两者?,php,mysql,htmlpurifier,Php,Mysql,Htmlpurifier,我刚刚开始使用HTML净化器来过滤所见即所得编辑器中的内容。内容将显示回用户或同一组中的其他用户。系统上还有其他组,数据完整性非常重要 我使用的是PHP,内容存储在MySQL数据库中 HTML净化器使用了大量的处理器功能,所以我只想在入站内容上使用它,而不使用任何过滤器直接从数据库显示出站内容。听起来很简单,它被过滤了,所以应该是安全的,但我不是100%确定,它安全吗 允许的入站列表 'p[style],strong,em,u,h1,h2,h3,h4,h5,h6,li,ol,ul,span[st

我刚刚开始使用HTML净化器来过滤所见即所得编辑器中的内容。内容将显示回用户或同一组中的其他用户。系统上还有其他组,数据完整性非常重要

我使用的是PHP,内容存储在MySQL数据库中

HTML净化器使用了大量的处理器功能,所以我只想在入站内容上使用它,而不使用任何过滤器直接从数据库显示出站内容。听起来很简单,它被过滤了,所以应该是安全的,但我不是100%确定,它安全吗

允许的入站列表 'p[style],strong,em,u,h1,h2,h3,h4,h5,h6,li,ol,ul,span[style],div[style],br,ins,del'


编辑:我发现该网站建议在上做这件事,但我想在此发表一些意见,因为这非常重要。

当你将输入发送到数据库时,请对其进行清理,否则你会在每秒浏览几次页面时遇到大麻烦,因为这是一个CPU密集型步骤

但是,您必须确保数据库中的每一行都已清理干净,否则有朝一日您将暴露于XSS(检查每个编辑或添加条目的请求,并考虑数据库中现有的行)

小提示:如果你能负担得起空间,请储存经过消毒和未消毒的输入。如果有一天,您必须更改参数中的某些内容,或者HTMLPurifier有一个主要的0天,那么您将能够更新整个表。但是,如果有一天你这么做了,要非常小心后果;)


编辑:通过允许样式或只允许fews CSS样式来确定您正在做什么…

当您将输入发送到数据库时,请对其进行清理,否则您将在每秒查看几次页面时遇到大问题,因为这是一个CPU密集型步骤

但是,您必须确保数据库中的每一行都已清理干净,否则有朝一日您将暴露于XSS(检查每个编辑或添加条目的请求,并考虑数据库中现有的行)

小提示:如果你能负担得起空间,请储存经过消毒和未消毒的输入。如果有一天,您必须更改参数中的某些内容,或者HTMLPurifier有一个主要的0天,那么您将能够更新整个表。但是,如果有一天你这么做了,要非常小心后果;)


编辑:通过允许样式,或者只允许少数CSS样式,确保您正在做什么…

谢谢Ugo,我只在所见即所得输入的内容上使用净化器。其他所有内容都将使用标准php过滤器严格剥离并验证为纯文本。您建议在“样式”属性中允许什么?只允许颜色、字体大小、字体大小、背景色、文本对齐等。避免像位置、顶部、左侧、边距之类的东西…谢谢Ugo,我只是在所见即所得输入内容上使用净化器。其他所有内容都将使用标准php过滤器严格剥离并验证为纯文本。您建议在“样式”属性中允许什么?只允许颜色、字体大小、字体大小、背景色、文本对齐等。避免位置、顶部、左侧、边距……查看OWASP。查看OWASP。