- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您将如何结合链接使用 SafeHtml?
场景:我们的用户可以输入未格式化的文本,其中可能包含链接,例如I like&love http://www.stackoverflow.com
.我们希望在 GWT 中安全地呈现此文本,但使链接可点击,例如I like&love <a="http://www.stackoverflow.com">stackoverflow.com</a>
.除了在 GWT 前端呈现文本,我们还想通过电子邮件发送它,其中的链接也应该是可点击的。
到目前为止,我们考虑了以下选项:
I like&love <a="http://www.stackoverflow.com">stackoverflow.com</a>
) -> 引入 XSS 漏洞I like&love <a="http://www.stackoverflow.com">stackoverflow.com</a>
) 并使用 HtmlSanitizer在前端I like&love [stackoverflow.com|http://www.stackoverflow.com]
) 存储纯文本和特殊编码,并在前端使用自定义 SafeHtml 生成器对我们来说,第三个选项看起来最干净,但它似乎需要最多的自定义代码,因为我们无法利用 GWT 的 SafeHtml 基础结构。
有人可以分享如何最好地解决这个问题吗?有没有我们到目前为止没有考虑的另一种选择?
最佳答案
为什么不完全按照用户输入的方式存储文本,并在转换输出时执行任何特殊处理(例如发送电子邮件、创建 PDF 等)。这是最自然的方法,您不必取消任何特殊处理,例如当您向用户提供编辑字符串时。
作为一般规则,我总是只对立即 传输/存储/输出目标执行编码/转义/转换。偏离这条规则的理由很少,其中之一可能是性能,例如在数据库中缓存转换后的值。 (在这些情况下,我认为最好为数据库字段指定一个特定的名称,例如“text_htmltransformed”——这样可以避免“过度转义”,这与不转义一样有害。)
注意:转义/编码不能替代输入验证。
关于java - 使用 SafeHtml 的 anchor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13601858/
假设您有以下 MyPanel.ui.xml: Some content ...
OWASP 的优秀人员强调,您必须对 HTML 文档中要放入不受信任数据的部分(正文、属性、JavaScript、CSS 或 URL)使用转义语法。请参阅OWASP - XSS 。他们的 API(由
如何使 @SafeHtml 成为字符串类型的默认 validator ?这是愚蠢的吗? Hibernate Validator 有一个名为 @SafeHtml 的 validator ,它可以防止 H
我有一个 div,id 是“carID”。 我需要做这样的事情: magic(){ //Safe Html is imported previously in the component do
您将如何结合链接使用 SafeHtml? 场景:我们的用户可以输入未格式化的文本,其中可能包含链接,例如I like&love http://www.stackoverflow.com .我们希望在
我有一个从另一个 API(反编译类)获取的 dto,其中一个字符串字段被标记为 SafeHtml 以防止用户注入(inject) HTML 脚本。 @NotNull @SafeHtml( wh
我需要在我的文本字段中使用 XSS 过滤器,但我需要允许某些 html 标记用于文本格式(粗体、斜体等),并且我还需要允许 url 链接,例如: then with links! 所以在我的实体类中我
我有一个基于 Java 的后端,我在其中使用 Hibernate 进行一些更具体的 bean 验证,即:@SafeHtml。它可以很好地满足我 99% 的需求,但是,我有一个部分允许用户输入基本的 H
如何将我的 Html 更改为 SafeHtml Html htmlText = new Html(); htmlText.setText(result.getText()); 我正在将简历保存在我的
我收到 typescript 错误 切换到 Ivy 编译器后: [Step 4/5] src/app/app.component.html(1,26): Type 'SafeHtml' is not
我在一个新项目中使用 GWT 2.5,但遇到了一个小障碍。GWT 的早期版本对 HTMLPanel 禁用了 SafeHTML,这意味着如果我在 HTMLPanel 中放入大块文本,它会像普通 HTML
正如 JavaDocs 中所述,它将在未来版本中删除。是否有任何替代库可以通过注释类似地工作? 最佳答案 我们首先解释一下弃用的原因:由于这一限制,我们最近遇到了安全问题 (CVE)。这是由于我们实现
对于 GWT 项目,如果您将 pom 配置为生成 I18N 消息包,则生成的接口(interface)都返回字符串。 我想知道是否有办法让消息包接口(interface)生成 s.t.部分或全部方法返
我有一个允许用户放置图像链接的文本框(例如:http://abc.test.gif)和另一个允许用户放置替代文本的文本框(例如:“这是 test.gif”)和一个提交按钮。 当用户点击提交按钮时,程序
我有一个基于 Java 的后端,我在其中使用 Hibernate 进行一些更具体的 bean 验证,即:@SafeHtml。它可以很好地满足我 99% 的需求,但是我有一个部分允许用户输入基本 HTM
我是一名优秀的程序员,十分优秀!