【问题标题】:Is guarding <, >, and & enough to sanitize HTML in Swing components?保护 <、> 和 & 是否足以清理 Swing 组件中的 HTML?
【发布时间】:2020-09-12 12:18:48
【问题描述】:

我有一个任意字符串。我想将MyString 放在一个 HTML 文档中,例如

<html><body>Text bla <b>MyString</b> bla bla</body></html>

我不想让 MyString 使用标签进行任何 HTML 格式设置,但我也不想使用 &amp;charcode; 转义每个字符(这是我的后备计划)。

&amp;lt;&amp;gt;&amp;amp; 替换为&amp;lt;&amp;gt;&amp;amp;(以及用&lt;br&gt; 替换换行符)是否足够?如果没有,还有什么?

更多上下文:这是为了将用户提供的字符串以格式化的方式放入 JLabel 中,该 JLabel 还包含其他文本(因此仅设置标签的样式是不够的)。

【问题讨论】:

  • @user2864740 酷。介意给我看一个吗?
  • 嗯,我删除了之前的评论以避免走“包含库 X”路线。我还特别关注问题标题。 Swing 中的用法,尽管这与似乎暗示更一般的上下文的第一句话略有不同。 cheatsheetseries.owasp.org/cheatsheets/… 可能有用,虽然它没有直接回答这个问题。 (有一个用于 Java 的 OWASP 库,其中确实包含此类支持。)
  • @user2864740 即使那个库也以某种方式做到了。我对实现这一目标所需的东西比仅仅使用某些东西更感兴趣。这就是为什么我想知道我的想法是否正确,如果不正确,我错在哪里。 :)
  • 参见the OWASP cheat-sheet 链接中的规则 #1,其中列出了要转义的 6 个字符:&amp;, &lt;, &gt;, ", ', /。无论是否需要(在所有情况下)..
  • @user2864740 已经阅读,非常感谢!

标签: java html swing input-sanitization


【解决方案1】:

正如@user2864740 在 cmets 中所写:

请参阅the OWASP cheat-sheet 链接中的规则 #1,其中列出了 6 要转义的字符:&、、"、'、/。无论是否是 需要(在所有情况下)。

在我的情况下,转义这些字符似乎已经足够了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    • 2011-07-04
    • 2022-12-16
    • 2015-05-30
    • 2012-08-17
    • 2018-07-11
    相关资源
    最近更新 更多