2017-02-09 9 views
-3

いくつかの機能を使い、マルチプレイヤーではない単純なゲームを作成したとしましょう。私はブラウザ内から書いた関数定義にアクセスできますか?例えば、scoreパラメータを持つ関数があり、スコアが一定数に達すると「あなたが勝ちました」というメッセージをユーザーに送信するとします。ユーザーが指定した引数でコンソールからその関数を呼び出すことは可能ですか?ユーザーは自分のウェブページのJavaScriptの関数定義にアクセスできますか?

上記のいずれかが可能であれば、どうすれば試すことができますか?

+0

あなたは試してみましたか? –

+0

@Brian私は、しかし、私はどのようにわからない。 – VlassisFo

+2

はいこれまで通り、 –

答えて

2

私が書き込んだ関数定義は、ブラウザからアクセスできますか?

はい。

はのは、例えば、スコアパラメータを持っており、彼の得点が一定数に達した場合、ユーザーに「あなたが勝つ」というメッセージを送る機能があり、言ってみましょう。ユーザーが指定した引数でコンソールからその関数を呼び出すことは可能ですか?

はい。

上記のいずれかが可能な場合は、どうすれば試すことができますか?

機能がグローバルの場合は、その名前を入力します。

グローバルでない場合は、その関数にアクセスできるスコープのどこかにブレークポイントを設定し、そのブレークポイントをトリガするのに必要なものを実行します。

関連:Prevent Cheating on Javascript GameおよびWhat good ways are there to prevent cheating in JavaScript multiplayer games?です。

+0

回答と参考書をありがとう、彼らは非常に役立つでしょう。 – VlassisFo

0

はい可能です。 質問はあなたのコードをどのように書いたかです。

あなたはこのようにそれを書いた場合:あなたは(window.)play.public();ウィンドウでスコア関数にアクセスすることができます

(function(module, window, document, undefined){ 
    module.public = function(){ 
     //code here 
    } 
    function private(){ 
     //code here 
    } 
}((window.play = {}), window, document); 

。必要ない。関数privateは、module functionの外部サイトにアクセスできませんでした。

あなたのコードは、これを気に入った場合:

function public(){ 
    //code here 
} 
function private(){ 
    //code here 
} 

どちらの関数がpublic(); private();でavailalbeされています。あなたのコードにアクセスする方法

  1. は、ブラウザの開発者ツールを開きます。スクリプト
  2. から
  3. オープンタブ「ソース」
  4. ナビゲート...機能が
  5. 呼び出されたときに、データを修正するために
  6. ブレークポイントを設定し、すべての書かれたコードを見上げて
あなたのコードを固定する方法

  • あなたは/ uglifyあなたのコードを縮小化することができますJavaScriptのセキュリティメソッドの
  • (それは仕方圧倒されて、ほとんどのゲームのための)機能のためのバックエンドを使用し
  • グーグル
関連する問題