问题标签 [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.
ruby-on-rails - 为什么在 Rails 3 中,<%= note.html_safe %> 和 <%= h note.html_safe %> 给出相同的结果?
感觉就像html_safe
在 String 类中添加了一个抽象,需要了解正在发生的事情,例如,
对于第 4 行,如果我们说,好的,我们信任该字符串——它是安全的,但为什么我们不能逃避它呢?似乎要通过 逃避它h
,字符串必须是不安全的。
所以在第 1 行,如果字符串没有被 转义h
,它将被自动转义。在第 5 行,h
不能对字符串进行两次转义——换句话说,在<
更改为之后<
,它不能再转义一次到&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 攻击,因此了解它的确切工作原理可能非常重要。以上只是对其具体工作方式的猜测。它实际上可能是一种不同的机制吗?是否有任何支持它的文档?
ruby-on-rails - 使用 ruby on rails 数据迁移撤消 html 转义
我有一个数据库,目前其中的许多项目已被 html 转义。我需要撤消此操作(不要问为什么!),为此我将执行数据迁移。
但是有一种方法可以取消转义这些字符串吗?我一直找不到任何东西..
ruby-on-rails-3 - 如何使erb标签中的html代码不转义
我在 rails 项目的一个视图中有一些简单的 erb 代码。
<%= comment.body %>
我希望保留 comment.body 中的 html 标签,因为它们具有格式信息。我已验证文本已正确保存在数据库中,例如
<b>hello</b>
然而,事实证明页面上<b>hello</b>
并不像我预期的那样打招呼。
这怎么可能?我不是<%= h
用来转义 html 代码的。
我怎样才能让它不逃跑?我正在使用rails 3。这有关系吗?
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 编辑器有更好的选择吗?
先感谢您 。
underscore.js - 为什么 _.escape 会修改 Underscore.js 中的 / 字符?
我正在查看Underscore.js api,我注意到_.escape
转义&
, <
, >
, "
, '
, 和/
字符。让我吃惊的是逃跑/
。
是否有理由逃避/
我不知道的字符?
ruby-on-rails - Rails:array.join 在分隔符中带有 html 被转义
我有一个包含未保存内容(用户输入)的字符串数组。
我想在我的模板中加入这些字符串,用<br />
.
我试过:
但这也将逃脱分隔符。
是否有解决方法,请记住绝对必须转义数组的内容?
jsf - 按原样打印 HTML 而不是实际的 HTML
我正在使用 JSF 1.2
我正在尝试使用打印文本<h:outputtext>
现在这个变量包含带有 html 标签的文本。<b>
等等<i>
……
但这会按原样显示内容,而不是实际的粗体或斜体 html 输出。
有什么方法可以<h:outputText>
让它给出 html 响应?
json - Node.js - 何时将 HTML 转义到 JSON 数据、服务器或客户端?
我正在使用 Node.js 和 Underscore.js。我无法确定是在服务器端还是客户端转义 JSON 数据。For underscore 不会使用语法自动转义插值,<%= someValue %>
而是使用 with <%- someValue %>
,这与 EJS 形成对比,可能会导致混淆。GitHub上有一个问题,还有一个自动转义版本的提交。但该问题下方的评论说:
我的一般理念是转义应该更接近您的数据而不是模板语言
那么,有什么建议何时将 HTML 转义为 AJAX 数据更好?这是我一直在使用的服务器端助手功能:
然后在返回 JSON 时调用它:
java - 如何将 HTML 转义字符从 JSP 转义到 Java
我正在应用JSP 中fn:escapeXml
的输入值(例如>
)来进行 html 转义。当我提交表单时,我确实需要将参数发送到控制器。在我的控制器中,请求参数是 as>
而不是>
。因此,我无法在控制器中取消转义以获得原始值。有人可以帮忙吗?
c++ - 如何使 QString html 转义
如何转义/清理包含 HTML 的 QString?
IEshowInBroswser(escaped(str)) == showInNotepad(str);