我正在写一个类似于stackoverflow的评论系统,我不确定在输出之前过滤用户内容的最佳方式。
我真的很想在将内容输出到页面时对其进行清理,因为如果我在将其插入数据库之前对其进行清理,我可以想到可能会发生的各种问题。
到目前为止,我一直只是通过
htmlentities($content, ENT_QUOTES, 'UTF-8')
据我所知,这使得输出是安全的。
但是,我在注释系统中使用的所见即所得编辑器允许以下超文本标记语言用于格式化:
<code><span><div><label><a><br><p><b><i><del><strike><u><img><video><audio><iframe><object><embed><param><blockquote><mark><cite><small><ul><ol><li><hr><dl><dt><dd><sup><sub><big><pre><code><figure><figcaption><strong><em><table><tr><td><th><tbody><thead><tfoot><h1><h2><h3><h4><h5><h6>
所以我需要能够输出这些标签,而不是编码它们,以便评论正确显示。
我正在使用的所见即所得编辑器(Redactor)的文档建议通过strip\u tags()
运行用户内容,并将上述标记作为允许的标记参数传递。然而,我在stackoverflow上读到的问题和答案表明,这可能是不够的。
在假设strip_tags()
下操作是不够好的,我一直在寻找替代方案,似乎最受欢迎的选项之一是超文本标记语言净化器。然而,我一直在这里阅读问题和答案,暗示超文本标记语言净化器非常慢。
由于评论的呈现方式,每个评论都必须单独净化(我不能把它们都作为一个字符串),我想知道如果有几十个甚至几百个超文本标记语言净化器,这是否会太慢线程中的注释。
总结:
诀窍是存储用户输入的两个副本:干净版本和净化版本(即缓存)。事实上,HTML净化器文档对此进行了评论,并为您提供了一些方法:http://htmlpurifier.org/docs/enduser-slow.html
这个网站是404'ing,所以我不能在那里搜索。我试着看了文档,但不清楚在哪里能找到。我做了一个配置与标签的列表,我想允许和包括
我想选择强标签内的文本,但不在其下的div。。。 有没有可能直接与jsoup合作? 我的选择尝试(不工作,选择强标签内的完整内容): HTML:
我从quarkus开始,我的构建本机速度太慢(超过一个小时,并已退出内存错误)。我删除了quarkus
问题内容: 我正在构建同时使用HTTP内容和HTTP标头发送和接收数据的AJAX应用程序。是否存在由于HTTP标头太大而无法从HTTP标头接收的数据的问题?如果是,限制是什么,并且在所有浏览器中的行为都一样吗? 我知道从理论上讲HTTP头的大小没有限制,但是在 实践中,有 什么意义呢,在某些平台,浏览器或客户端计算机或计算机上安装的某些软件下,我可能会遇到问题。我正在寻找有关使用HTTP标头的安全
我想使用JQuery向没有值的HTML元素添加属性 添加所需的 如果属性后面没有,该怎么做?
出于某种原因,我通过POST提交的表单发送的是选项文本,而不是表单的选项值。这是我的选择声明: 当我用PHP打印我的$\u POST数组时。我有: 我对jquery特别陌生,我使用jquery以模态的方式呈现表单,因此我将粘贴下面的完整表单/div和javascript,以防相关: return_frequency()是一个php函数,根据输入返回“每2周”或“每周”。 我错过了什么?