我刚刚开始使用超文本标记语言净化器http://htmlpurifier.org来过滤来自所见即所得编辑器的内容。内容将被显示回给用户或同一组中的其他用户。系统上还有其他组,数据完整性非常重要。
我使用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'
编辑:我发现该网站建议在http://htmlpurifier.org/docs/enduser-slow.html 但我想在这里提出一些意见,因为这非常重要。
当您将输入发送到数据库时,请对其进行清理,否则每秒只需浏览几次页面就会遇到很大的问题,因为这是一个CPU密集型步骤。
但是,您必须确保数据库中的每一行都经过清理,否则有一天您将暴露给XSS(检查编辑或添加条目的每个请求,并考虑数据库中的现有行)。
小提示:如果你能负担得起空间,请储存经过消毒和未消毒的输入。如果有一天,您必须更改参数中的某些内容,或者HTMLPurifier有一个主要的0天,那么您将能够更新整个表。但是,如果有一天你这么做了,要非常小心后果;)
编辑:通过允许样式,或者只允许FEWSCSS样式来确定您正在做什么。。。
问题内容: Spring Integration FTP中的入站通道适配器和出站通道适配器之间有什么区别?我应该使用哪一个?何时使用? 我从文档中了解到,出站可以发送任何类型的文件(例如byte [],String,java.io.File),但入站仅限于文件类型。那仅仅是区别还是其他? 问题答案: 我建议您首先阅读理论 。 任何Inbound适配器都旨在从外部系统获取数据。Outbound-放置
问题内容: 你更喜欢哪个?为什么? 它们都可以用来完成相似的任务,但是我很好奇,看看人们在实际应用中使用了什么,以及这样做的理由。 问题答案: Bloom过滤器和Cuckoo过滤器在类似的情况下使用,但是通常有很多差异,这些差异通常会确定哪个是更好的选择。 布隆过滤器在数据库引擎内部使用,尤其是Apache Cassandra。正如其他张贴者所说,其原因是为了减少慢速设置操作的成本。基本上,任何高
问题内容: 入站和出站通道适配器之间的根本区别是什么? 任何示例都将非常有帮助。 我已经查看过Spring文档,这种“方向性”的区别对我来说还不清楚。我支持配置了outbound-channel-adapter的应用程序,但是我发现使用 出站 标签可以直观地了解行为计数器。该适配器获取一个外部文件,然后 将其 引入应用程序中, 在 该应用程序中我们解析文件并保留数据。 这类似于这个问题,但是我想更
这就是我的配置 这个想法是每3秒轮询一个目录,并根据通道向调度程序发送3条消息,以允许异步执行。然后根据消息数量聚合消息,然后发送到下一个服务激活器。第一个服务激活器将文件放在源目录中,第二个服务激活器获取聚合列表以将这些文件移动到暂存目录。 似乎发生的情况是,源文件夹跳过了一些文件,但临时文件夹确实获取了所有文件。我的猜测是,轮询器将消息发送到dispatcher通道,但当其线程池变满时,它会忽
对于简单的数据净化,使用 htmlentities() 函数, 复杂的数据净化则使用 HTML Purifier 库 经 HTML Purifier 4.4.0 测试 在任何 wbe 应用中展示用户输出时,首先对其进行“净化”去除任何潜在危险的 HTML 是非常必要的。 一个恶意的用户可以制作某些 HTML,若被你的 web 应用直接输出,对查看它的人来说会很危险。 虽然可以尝试使用正则表达式