问题标签 [html-escape]

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 投票
2 回答
10428 浏览

ruby-on-rails - 为什么在 Rails 3 中,<%= note.html_safe %> 和 <%= h note.html_safe %> 给出相同的结果?

感觉就像html_safe在 String 类中添加了一个抽象,需要了解正在发生的事情,例如,

对于第 4 行,如果我们说,好的,我们信任该字符串——它是安全的,但为什么我们不能逃避它呢?似乎要通过 逃避它h,字符串必须是不安全的。

所以在第 1 行,如果字符串没有被 转义h,它将被自动转义。在第 5 行,h不能对字符串进行两次转义——换句话说,在<更改为之后&lt;,它不能再转义一次到&amp;lt;

那么发生了什么?起初,我以为html_safe只是在字符串上标记一个标志,说它是安全的。那么,为什么不h逃避呢?似乎h并且html_escape实际上合作使用该标志:

1) 如果一个字符串是 html_safe,则h不会对其进行转义

2)如果一个字符串不是html_safe,那么当这个字符串被添加到输出缓冲区时,它会被自动转义h

3)如果h已经转义了一个字符串,它会被标记html_safe,因此,再转义一次h不会有任何效果。(如第 5 行,即使在 Rails 2.3.10 中,这种行为也是相同的,但在 Rails 2.3.5h上实际上可以转义两次......所以在 Rails 2.3.5 中,h是一种简单的转义方法,但有些地方沿着到 2.3.10 的行h变得不那么简单了。但是 2.3.10 不会自动转义字符串,但是由于某种原因,该方法html_safe已经存在于 2.3.10(出于什么目的?))

它是这样工作的吗?我认为现在,有时我们在输出中没有得到我们想要的东西,我们立即添加html_safe到我们的变量中,这可能非常危险,因为它会以这种方式引入 XSS 攻击,因此了解它的确切工作原理可能非常重要。以上只是对其具体工作方式的猜测。它实际上可能是一种不同的机制吗?是否有任何支持它的文档?

0 投票
3 回答
889 浏览

ruby-on-rails - 使用 ruby​​ on rails 数据迁移撤消 html 转义

我有一个数据库,目前其中的许多项目已被 html 转义。我需要撤消此操作(不要问为什么!),为此我将执行数据迁移。

但是有一种方法可以取消转义这些字符串吗?我一直找不到任何东西..

0 投票
2 回答
4352 浏览

ruby-on-rails-3 - 如何使erb标签中的html代码不转义

我在 rails 项目的一个视图中有一些简单的 erb 代码。

<%= comment.body %>

我希望保留 comment.body 中的 html 标签,因为它们具有格式信息。我已验证文本已正确保存在数据库中,例如

<b>hello</b>

然而,事实证明页面上<b>hello</b>并不像我预期的那样打招呼。

这怎么可能?我不是<%= h用来转义 html 代码的。

我怎样才能让它不逃跑?我正在使用rails 3。这有关系吗?

0 投票
1 回答
440 浏览

ruby-on-rails - 升级到 Rails 3.1 后 html_escape 似乎坏了

我有一个项目使用来自 80beans 的荷兰人的所见即所得编辑器“wysihat-engine”。它使用 Rails 版本 3.0.9 可以正常工作,但升级到 3.1.0 后 wysihat-engine 无法从 ERB::Util (ActiveSupport 3.1.0) 找到 'html_escape' ,给我这个错误消息:

我已经通过在 'wysihat-engine.rb' 中定义 'html_escape' 来修复它(确实很糟糕),但我敢肯定,有理由不这样做:)。

我的问题: 1. 这是新版 Rails 的错误吗?2. 对于 Rails 3.1 项目,WYSIWYG 编辑器有更好的选择吗?

先感谢您 。

0 投票
2 回答
10933 浏览

underscore.js - 为什么 _.escape 会修改 Underscore.js 中的 / 字符?

我正在查看Underscore.js api,我注意到_.escape转义&, <, >, ", ', 和/字符。让我吃惊的是逃跑/

是否有理由逃避/我不知道的字符?

0 投票
3 回答
4161 浏览

ruby-on-rails - Rails:array.join 在分隔符中带有 html 被转义

我有一个包含未保存内容(用户输入)的字符串数组。

我想在我的模板中加入这些字符串,用<br />.

我试过:

但这也将逃脱分隔符。

是否有解决方法,请记住绝对必须转义数组的内容?

0 投票
3 回答
31301 浏览

jsf - 按原样打印 HTML 而不是实际的 HTML

我正在使用 JSF 1.2

我正在尝试使用打印文本<h:outputtext>

现在这个变量包含带有 html 标签的文本。<b>等等<i>……

但这会按原样显示内容,而不是实际的粗体或斜体 html 输出。

有什么方法可以<h:outputText>让它给出 html 响应?

0 投票
1 回答
5842 浏览

json - Node.js - 何时将 HTML 转义到 JSON 数据、服务器或客户端?

我正在使用 Node.js 和 Underscore.js。我无法确定是在服务器端还是客户端转义 JSON 数据。For underscore 不会使用语法自动转义插值,<%= someValue %>而是使用 with <%- someValue %>,这与 EJS 形成对比,可能会导致混淆。GitHub上有一个问题,还有一个自动转义版本的提交。但该问题下方的评论说:

我的一般理念是转义应该更接近您的数据而不是模板语言

那么,有什么建议何时将 HTML 转义为 AJAX 数据更好?这是我一直在使用的服务器端助手功能:

然后在返回 JSON 时调用它:

0 投票
2 回答
2844 浏览

java - 如何将 HTML 转义字符从 JSP 转义到 Java

我正在应用JSP 中fn:escapeXml的输入值(例如>)来进行 html 转义。当我提交表单时,我确实需要将参数发送到控制器。在我的控制器中,请求参数是 as&gt而不是&gt;。因此,我无法在控制器中取消转义以获得原始值。有人可以帮忙吗?

0 投票
3 回答
17032 浏览

c++ - 如何使 QString html 转义

如何转义/清理包含 HTML 的 QString?

IEshowInBroswser(escaped(str)) == showInNotepad(str);