在任何人跳进来说“哦!!这是个坏主意”之前,我知道它是。
我想保留查询字符串中的键和值,以免最终用户轻易看到。
我有这样的东西 google.com/?category=textile&user=user1
我需要让它像这样难以理解:google.com/?kasjdhfkashasdfsf32423
有什么办法可以在 javascript 中实现这一点。这个我已经看过了
但我不认为编码能解决问题。此外,此代码完全在客户端。我知道它不安全,但我只需要这是一种幼稚、薄弱的防御。 请帮忙。
编辑
如果我之前的问题不清楚,我深表歉意。
URL google.com/?category=textile&user=user1
正在从不同的应用程序传递。
查询字符串中传递的值直接控制向用户显示的内容。事实上,任何没有技术知识的人都可以轻松更改值并查看与不同类别或用户对应的数据。我需要让它变得难以理解,这样它就不明显了。如果用户是技术人员并弄清楚所使用的加密方式,那就没问题了。在我们拥有更好的架构之前,我需要一个权宜之计
最佳答案
您可以使用 base64。 Javascript 具有执行此操作的 native 函数:
alert(btoa("category=textile&user=user1")); // ==> Y2F0ZWdvcnk9dGV4dGlsZSZ1c2VyPXVzZXIx
并反转它:
alert(atob("Y2F0ZWdvcnk9dGV4dGlsZSZ1c2VyPXVzZXIx")); // ==> category=textile&user=user1
如果你有 unicode 字符串,请仔细阅读文档,它有点不同:https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa
关于javascript - 如何在 javascript 中编码/解码 URL 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19819407/