18

誰かが飛び込んで「ああ!!それは悪い考えだ」と言う前に、私はそれがわかっています.

キーと値の両方をクエリ文字列に保持して、エンド ユーザーに簡単に見えないようにしたいと考えています。私はこのようなものを持っています。次のようgoogle.com/?category=textile&user=user1 に理解できないようにする必要があります。google.com/?kasjdhfkashasdfsf32423

JavaScriptでこれを達成する方法はありますか。私はすでにこれを見ました

私はすでにこれこれを見ました。

しかし、エンコーディングで問題が解決するとは思いません。また、このコードは完全にクライアント側にあります。安全ではないことはわかっていますが、単純で弱い防御が必要です。助けてください。

編集

私の質問が以前に明確ではなかった場合は、お詫び申し上げます。

URLgoogle.com/?category=textile&user=user1が別のアプリケーションから渡されています。

クエリ文字列で渡される値は、ユーザーに表示されるものを直接制御します。そのままで、技術的な知識がなくても誰でも簡単に値を変更し、別のカテゴリまたはユーザーに対応するデータを表示できます。明白にならないように、これをわかりにくくする必要があります。ユーザーが技術者であり、使用されている暗号化を把握している場合は問題ありません。より良いアーキテクチャが整うまで、一時しのぎの解決策が必要です

4

2 に答える 2

33

base64 を使用できます。Javascript には、それを行うためのネイティブ関数があります。

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

于 2013-11-06T21:05:05.500 に答える