コードを変更している開発者ツールや悪意のあるスクリプトを挿入している人が心配ですか?
これらのツールは非常に洗練されているため、開発者用ツールを使用してコードをダイビングしているユーザーから身を守ることは困難です。ただし、変更内容はタブを開いたままにしてページを更新しない限り変更されません。これは他者に危険を課すものではありません。あなたのコードを読んでいる人がいらっしゃらない場合は、それをサーバに配置する前に、まずコードを読み込み、あいまいな操作を実行してください。
悪質なコードが懸念される場合は、可能な限りグローバルネームスペースを少しでも公開することをお勧めします。それはあなたが取ることができる簡単な措置です。
この例では、簡単にスクリプトによって上書きすることができます:はい
(function() { // use an IEFE to wrap your code here
var foo = 'bar';
function doSomething() {
console.log(foo);
}
)();
// evil script
doSomething = function() { // this function will not be called in your code
window.location = 'http://evil.com'
}
:
しかしIEFEでコードをラップすることによって、あなたはそれが難しい外からあなたの機能を上書きすることができます;ユーザーはクライアント上で何かを行うことができます。 – SLaks
です。そのため、あらゆる場所で認証チェックを設定しています。現在のユーザーが正当なユーザーであるかどうか、自分が行っていることを許可されているかどうかを確認する必要があります。 – hansTheFranz
@SLaks - はい、そうかもしれませんが、答えが単純過ぎるようです。 1つは、クライアント上でjavascriptのみを書き直すことができます。恐ろしく安全でないコードを書いていない限り、アプリケーションは他の関数を呼び出すことも、他の誰かの不要な宛先にリダイレクトすることもできません。 –