2

基本的に、クライアントに変数を保存したいのですが、それを他の人に見られたり変更されたりしたくないのです。

次のコード例では:

(function () {
    var foo = 'bar';
})();

誰でもツールやブラウザを使用して foo の値にアクセスしたり (さらに重要なことに) 変更したりできますか? これを行う可能性のある詳細情報またはツールへのリンクをいただければ幸いです。その間にもっと研究します。

前もって感謝します

4

2 に答える 2

3

はい、fooの値を変更できます。原則として、クライアントに値を操作させたくない場合は、クライアントに値へのアクセスを許可しないでください(つまり、ユーザーIDまたはこのタイプの情報をDOMまたはクライアント側に配置します)。少しstate management調査、暗号化されたCookie、セッション、または使用している場合ASP.NETなどViewState/ViewBagが必要になる場合があります。

于 2012-10-08T14:08:10.623 に答える
0

任意のページに JavaScript を挿入することが可能であり、そこからページ上のすべての JavaScript オブジェクト/変数を操作できます。したがって、javascript が受信するデータはすべて暗号化する必要があります (セキュリティが重要な場合)。

ちょっとしたヒントを得るために、開発者ツールを開いてみてください。クロムでは、Control-Shift-I. [スクリプト] タブをクリックすると、スクリプトが使用しているすべての変数が表示されます。スクリプト内の任意の場所をダブルクリックして、コードを追加/削除できます。

参考までに、Firefox を使用している場合は、Firebug を強くお勧めします。それはクロムの開発ツールを凌駕しますが、クロムの方が速いことがわかります..少なくとも私の遅いラップトップ(Ubuntu FTW)では。

これが役に立ったことを願っています

于 2012-10-08T14:13:22.060 に答える