【问题标题】:How to handle the special characters using java or javascript without removal [closed]如何使用java或javascript处理特殊字符而不删除[关闭]
【发布时间】:2016-07-19 13:19:53
【问题描述】:

我正在为我们的一个分布式应用程序开发一个富文本编辑器,以允许用户在该编辑器中输入他/她的 cmets。在这里,我们允许用户从键盘输入 cmets 并从外部资源(如 Internet、MS-Word 等)复制粘贴 cmets,因此,在这里我们需要保存用户输入的任何内容,而不需要删除一个字符。

最初我的想法是,我们需要加密 cmets 并将其保存到数据库端,而用户想看到他的 cmets,然后我们从数据库中获取它并解密并显示给用户。但是这样的问题是,数据库中的加密数据/cmets被不同的应用程序使用,因此我们需要在所有其他应用程序中实现相同的加密和解密机制......这是一个非常糟糕的主意。

所以伙计们,如果有人对此有更好的想法。请发布答案。

谢谢。

【问题讨论】:

    标签: java encryption architecture


    【解决方案1】:

    "encrypt" 我假设你的意思是"escape" or "encode"

    否则,为什么需要加密 cmets?请记住,您将无法对加密数据执行数据库搜索。此外,如果攻击者要访问您的数据库并同时对您的应用程序进行反向工程,他/她仍然能够解密数据。从您提供的有关应用程序的小细节来看,加密简单的“cmets”是没有意义的。

    通常最好将原始数据存储在数据库中并在向用户显示时将其转义。例如,假设您想在用户输入到数据库的文本中转义 HTML。因此,您在插入文本之前已经转义了所有 HTML 标记。但是一年后,您想要改进您的一个应用程序并允许 <b><i> 用于这个特定的应用程序。在这种情况下,最好能够访问数据库中的原始原始数据,并在需要时进行任何转义,即在向用户显示之前。

    您可以阅读更多关于此主题的内容here

    【讨论】:

    • 您好,谢谢您的回答。是的,当然,如果我们认为应该允许的字符很少而不允许的字符很少,那么每次要求都会改变。这就是为什么我们不关心任何特殊字符,无论用户输入什么,我们都必须保存原始数据。这里的全部问题来自特殊字符,尤其是扩展的 ascii 字符。
    猜你喜欢
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-19
    • 2012-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多