ページへの訪問者が、ブラウザからそのページの JavaScript で指定された任意の機能を実行することは可能ですか?
簡単な例として、ボタンがクリックされたときに特定の要素を非表示にする機能がページにある場合、訪問者はボタンをクリックせずにその機能をトリガーして要素を非表示にすることができますが、何らかの方法で関数を直接呼び出すことができますか?
ページへの訪問者が、ブラウザからそのページの JavaScript で指定された任意の機能を実行することは可能ですか?
簡単な例として、ボタンがクリックされたときに特定の要素を非表示にする機能がページにある場合、訪問者はボタンをクリックせずにその機能をトリガーして要素を非表示にすることができますが、何らかの方法で関数を直接呼び出すことができますか?
はい、ユーザーは DOM を完全に制御できます。ただし、クロージャーを使用してアクセスできるものを減らすことは可能です。たとえば、私が持っている場合:
(function() {
var myvar = "can't touch me!";
// do stuff with myvar
})();
その場合、ユーザーが文字列を取得または変更する方法はありません。window
関数をグローバル変数にする (またはオブジェクトにアタッチする) 場合を除き、関数についても同様です。onclick
要素の属性など、DOM に添付されたすべてのプロパティにもアクセスできます。ただし、このaddEventListener
方法を使用する場合、それを見つける方法はないと思います。
全体として、ブラウザは信頼できません。
セキュリティ上の予防措置により、一般的にこれが防止されると思います。
デバッグコンソールを使用できます。Chrome で、開発者ツールを開き、コンソールを開き、コマンドを入力します。
jQueryを使用している場合は、次のことができます
$('#id').click();
それが一番やりやすいと思う