问题标签 [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 回答
829 浏览

javascript - 如何通过分析 JavaScript & HTML 来检测 HTTP 请求?

我想知道我们是否可以对 JavaScript 代码进行一些分析,以检测包含这些 JS 的网页是否会向其他域发送 HTTP 请求。

例如,有人将他们的静态网页文件放在我的网络服务器(域 A)中,我不希望他们的文件向其他站点(例如域 B)发送 HTTP 请求。

他们有一些方法可以做到这一点:

  1. 使用 img 标签:<img src=“http://domain.b.com/statics”&gt;

  2. 使用脚本标签。

  3. 使用表单标签。

  4. 使用 iframe 标签。

此外,我们还可以使用 JS 来生成 HTTP 请求,例如:

Javascript 可以被混淆,上面的 javascript 可以被压缩为:

0 投票
2 回答
1221 浏览

html - 如何捕获 ngSanitize 错误并将 html 显示为转义文本

我们正在使用 AngularJS 尝试将用户输入的内容显示为 HTML。大多数情况下,用户输入我们使用 ng-bind-html 正确显示的有效/安全数据。有时他们会输入无效的 HTML,我仍希望将其显示为原始文本。

如果我使用 ng-bind-html 尝试显示无效的 HTML,我会收到此错误:

我不想使用 trustAsHtml,因为我不信任我们的消毒剂,并希望确保我们不会在页面上显示不安全的 html。

0 投票
3 回答
1191 浏览

php - 如何在 WordPress 中清理和存储包含 HTML 正则表达式模式的用户输入

我正在开发一些 WordPress 插件,它的功能之一是能够将用户输入的 HTML 正则表达式模式存储到数据库,然后将其显示在设置页面上。

我的方法实际上是可行的,但我想知道该代码是否足够安全:

那是用户输入的模式:

这就是我在 DB 中存储 HTML 模式的方式:

这就是它实际存储在 WordPress DB 中的方式:

这就是输出在设置页面上的显示方式:

感谢帮助 :)

0 投票
1 回答
3097 浏览

symfony - Twig:允许 HTML,但转义脚本

我正在XSS为我的应用程序调查可能的攻击媒介。

我有的:

  • 具有单个textarea字段的 FormType。通常这个字段可以包含html标签。
  • Twig呈现插入的数据的模板。

我使用该表单插入以下内容:

查看该数据需要转义。在转义数据方面,我熟悉的策略很少。

1)raw过滤器:完全禁用转义 -> 引入可能的 XSS

2)e过滤器:

  • html风味输出:<b>Some valid HTML text</b> <script type="text/javascript">alert("XSS")</script>
  • js风味输出:\x3Cb\x3ESome\x20valid\x20HTML\x20text\x3C\x2Fb\x3E\x0D\x0A\x3Cscript\x20type\x3D\x22text\x2Fjavascript\x22\x3Ealert\x28\x22XSS\x22\x29\x3C\x2Fscript\x3E

3) {{ var|striptags('<br>')|raw }},输出:一些有效的 HTML 文本警报(“XSS”)

这个工作,但不知何故我不喜欢它。我宁愿寻找黑名单解决方案,而不是白名单。

现在的问题:

是否有任何其他转义策略允许html标签但<script>e("js")过滤器一样转义标签?

Twig我应该在表单提交期间还是在渲染期间“杀死”脚本?

0 投票
1 回答
393 浏览

node.js - node.js \ 如何处理sanitize-html的结果

Node.js 中的新手我尝试使用sanitize-html模块清理node.js 中的 html -我认为这个问题看起来更通用:

插件输出一个对象(我打印到控制台并显示 [object]) - 我怎么知道如何使用这个对象?它的字段是什么,如何将其写入文件等(我知道这可能听起来很基本 - 我应该序列化它吗?使用对象的方法是什么......)

0 投票
1 回答
13754 浏览

node.js - node.js \ 清理 html 并删除标签

如何告诉“sanitize-html”实际删除 html 标签(只保留其中的内容)?目前,例如,如果我将其设置为保留 div 部分,则在输出中它还会写入<div>some content</div>-我只想要内部...('一些内容')

简而言之 - 我不想要标签、属性等 - 只有这些元素的内容..

0 投票
1 回答
1826 浏览

html - 如何仅使用 html 覆盖/强制图像的 mime 类型?

我有一个带有 png 扩展名的图像文件,其中 http 服务器返回的 mime 类型是 png 的类型。但是,该图像是 svg 图像,所有浏览器都将其解释为 png。
我不管理服务器,我只能上传带有 png 扩展名的文件。

如何覆盖服务器返回的 mime 类型?我尝试了contentandtype属性,image/svg+xml但没有任何改变。JavaScript 被剥离。

0 投票
1 回答
2082 浏览

jakarta-mail - OWASP HTML Sanitizer 允许在 HTML 中使用冒号

我怎样才能允许:登录已清理的 HTML?我正在使用它来清理生成 java 邮件的 HTML 代码。此代码具有内联图像内容 ID,例如<img src=\"cid:image\" height=\"70\" width=\"70\" />. 清理后,该src属性不包含在清理后的 html 中。

上面代码的输出是:

0 投票
1 回答
390 浏览

angularjs - Sanitize 模块的用途是什么?

我正在寻找Sanitize the HTML这个概念(对我来说) ,我已经阅读了所有关于这个模块的作用,但我真的不明白它的用途,以及它的用途,以及它可以为什么做出贡献我未来的项目。

如果你们中的一些人想阅读 >这里

ps:我只是想要一个实用的答案,不要太长。

提前致谢。

0 投票
1 回答
249 浏览

java - 允许代码时在 servlet 中编辑和清理用户输入?

我正在使用 JSP 和 Java Servlet 处理的网页需要使用户能够编写包含文本以及各种语言(包括 html 和 javascript)代码的评论和文章。数据存储在 mysql 数据库中,稍后在页面上显示。

对于输入,我想使用许多 WYSIWYG 编辑器之一。那些通常为数据库生成 (x)Html 代码。

这意味着在插入数据库之前,我需要在服务器端进行某种类型的清理,因为可以轻松绕过编辑器并将恶意代码显示在站点上(数据库本身由准备好的语句保护)。

处理该主题的最佳和最简单的方法是什么?

切换到 BBCode 输入而不是 html 是否更有意义?

我在这里找到了几个线程,但大多数都没有考虑到代码实际上需要在网站上显示,而且大多数线程已经有好几年了。

非常感谢提前!