问题标签 [html-sanitizing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
143 浏览

javascript - javascript和jquery中的表单验证以确保安全

我正在创建一个表单,发布一些地址数据,将其转换为经纬度,并在地图上做一些很酷的事情。

我的问题是:

如果这一切都在 JavaScript 中完成,我是否还需要应用某种服务器端验证来防止不当使用?

这里主要考虑恶意使用,而不是确保它是正确的数据。

当试图防止对 post 和 get 进行任何形式的不当使用时,我应该对此做些什么,或者主要担心人们试图将不可靠的数据发布到数据库或通过电子邮件发送它?

0 投票
0 回答
564 浏览

angularjs - angular-sanitize:如何不清理北方语言字母(带有变音符号)?

我们发现 angular-sanitize “清理”北欧字母表的字符并将它们变成 HTML 实体。因此,每次您在 INPUT 中输入ä字符并 $sanitize 您的输入时,您最终都会得到经过净化的字符串,这些字符串将这些字符替换为其他内容(ä ;),这会破坏输入,因为稍后我想显示该字符串或发送它到服务器。似乎用户输入了“ä”而不是“ä”。我们像往常一样在 UTF8 中工作,所以我们不需要这个。

目前我们有一个像这样的解决方案(应用程序是我们的角度应用程序):

但是我怀疑通过告诉 $sanitize 一些选项可能有更好的方法来实现这一点。我很欣赏如何以更好的方式做到这一点的建议。

0 投票
0 回答
546 浏览

ckeditor - 使用 CKEDITOR 的 htmlDataProcessor 清理 html

我想使用 CKEDITOR 的数据处理模块来清理一些用于显示的 html,但不使用 CKEDITOR 的 gui 或其他功能。

我们有一些非常粗糙的输入 html,我只希望它有对称的标签,去除基于位置的内联样式,然后从那里开始。

我很难弄清楚如何做到这一点,可能是因为我不知道如何使用 CKEDITOR(它在这个应用程序的其他地方使用过)。

我试过了:

0 投票
1 回答
713 浏览

javascript - 如何通过覆盖 odoo.define 中的函数来禁用 Odoo JavaScript 清理

在 Odoo 9 中有一个所见即所得的编辑器,它可以<p>在任何空行上添加标签,并用它们包围几乎每个填充的行。这完全破坏了模板。因此,如果您有一个不错的电子邮件模板,例如用于发票电子邮件,即使您在发送前没有手动编辑任何内容,该编辑器也会对其进行清理。

我们如何禁用所见即所得编辑器的这种行为?

编辑
有问题的功能是text_to_html并且可以在addons/web_editor/static/src/js/backend.js. 您可以通过简单地将其剥离为如下内容来禁用其非常过分的行为:

但是,在核心文件中这样做会在下次更新时覆盖更改。所以我现在的问题是,从自定义模块覆盖此功能的正确方法是什么。我熟悉基本的 Odoo 模块以添加例如新模型,但我不确定如何覆盖由定义的 Odoo JavaScript,odoo.define到目前为止还没有找到关于此的文档。

0 投票
3 回答
586 浏览

aem - 使用 AEM 清理输入

我们有很多人更新我们的 AEM 网站,但是当他们从 word 或在线复制和粘贴时,它会保留 HTML。我想知道 AEM 是否有任何内置的方法来清理输入,所以我不需要构建一个。

0 投票
1 回答
1287 浏览

node.js - 在 NodeJS 中清理 SVG

给定一个由不受信任的来源生成的 SVG 文件,我需要对其进行清理,删除任何潜在的 XSS 或其他类似漏洞。理想情况下,这应该在 NodeJS 库中完成。

0 投票
1 回答
674 浏览

python - 应该在输入时对 html 进行清理吗?

这个问题已经在这里问过很多次了,大多数人都同意原始 HTML 输入应该存储在数据库中,并在输出时转义。但是,我认为我的情况可能略有不同。

用户可以输入一些标签(em、strong、span 等)但其他标签被删除(脚本、样式、元等)所以我正在做的是获取原始 HTML,并将其发送bleach.clean到剥离(不是逃避)所有不安全的标签。对我来说,这更像是验证/清理而不是转义内容以供显示。特别是因为无论我以何种格式提供数据(HTML、JSON 或任何其他格式),我都会剥离不安全的标签。

我是否仍然应该在输出时对其进行消毒,或者在这种情况下最好在输入时进行处理?

奖金问题:

如果这是这种情况的正确方法,那么在 django 中实现它的最佳方法是什么?表单级验证还是模型级验证?

0 投票
1 回答
424 浏览

javascript - option.text() 在我的示例小提琴中容易受到 xss 的攻击

为什么我会收到警报框

虽然我(&lt;script&gt;alert(&#x27;xss&#x27;);&lt;/script&gt;)在选项文本中有编码版本??

我试图阻止显示警报,因为我在选项文本中编码了 html。有人可以告诉我我错过了什么吗?

https://jsfiddle.net/hf1fbhmg/

0 投票
1 回答
796 浏览

ruby-on-rails - 使用虾格式化数据库中的html内容

如何在虾文档中呈现来自数据库的 HTML 内容

我从上面的代码中得到的输出是一个带有 HTML 标签的字符串。我想要类似的东西html_safe。有可能Prawn吗?

0 投票
1 回答
815 浏览

javascript - 使用sanitize将angularjs字符串变量转换为html元素

AngularJS 代码:

HTML 代码:

所以我使用 $sanitize 和 ng-bind-html 指令来完成这项工作。

所以html页面中的结果是:

以上应该是红色的

我得到了输出,但字符串“检查”不是红色的!样式标签被忽略!我该怎么做?我使用插值吗?

有什么办法吗?希望它很简单...... AngularJS 专家请帮忙!