回答編集履歴
2
te2jiさんだった
answer
CHANGED
@@ -27,7 +27,7 @@
|
|
27
27
|
その結果だけ送って下さいという方式でハイスコア計算を行う仕組みはチートに対して無力です。
|
28
28
|
対策も何もありません。
|
29
29
|
|
30
|
-
|
30
|
+
te2jiさんが出してたURL内のハッシュを送れという対策も、
|
31
31
|
ハッシュを作るアルゴリズムがJS内にあるのにどうすんねんという感じですね。
|
32
32
|
|
33
33
|
なので、結局大抵のソシャゲは逐一サーバーへ接続してお伺いを立てるわけですね。
|
1
ぷち修正
answer
CHANGED
@@ -1,15 +1,15 @@
|
|
1
|
-
質問文で出てきた2つの方針はどちらも
|
1
|
+
質問文で出てきた2つの方針はどちらも対策としては微妙です。
|
2
2
|
まだまだHTTPの仕様周りの理解が相当不足してるんじゃないかと思います。
|
3
3
|
もう少しHTTPやWebサーバ、ブラウザの仕様に関して勉強した方が良いでしょう。
|
4
4
|
|
5
5
|
> ・スコアの更新はそのゲームのサイトからしか行えないようにする。つまり外部サイトからPOST送信しても処理されなくする。
|
6
6
|
|
7
7
|
どうやって?
|
8
|
-
例えば「そのゲームのサイト」という
|
8
|
+
例えば「そのゲームのサイト」というのはHTTPリクエストのヘッダー内の[Referer](https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Referer)の事を指しているのでしょうか?
|
9
9
|
|
10
|
-
もしそうならRefererは「自己申告」で無
|
10
|
+
もしそうならRefererは「自己申告」ですので確認しても無駄です。
|
11
|
-
|
11
|
+
こういうスコア申請チートをしようとしてる輩が知らない訳無いでしょというレベルであり、
|
12
|
-
一度デベロッパーツール等で送信しているHTTPリクエストを確認して模倣するだけの単純作業です。
|
12
|
+
一度デベロッパーツール等で送信しているHTTPリクエストを確認して模倣するだけの単純作業で突破されます。
|
13
13
|
|
14
14
|
> ・JSの変数の書き換え対策
|
15
15
|
|
@@ -27,9 +27,13 @@
|
|
27
27
|
その結果だけ送って下さいという方式でハイスコア計算を行う仕組みはチートに対して無力です。
|
28
28
|
対策も何もありません。
|
29
29
|
|
30
|
+
tetsujiさんが出してたURL内のハッシュを送れという対策も、
|
30
|
-
|
31
|
+
ハッシュを作るアルゴリズムがJS内にあるのにどうすんねんという感じですね。
|
31
|
-
流行れば負荷は莫大なものになるので、ガチャでSSRをばらまくことでAWSのインスタンス代金を補填すると
|
32
32
|
|
33
|
+
なので、結局大抵のソシャゲは逐一サーバーへ接続してお伺いを立てるわけですね。
|
34
|
+
サーバー側に乱数含めて一切の権限をもたせることで、クライアントには表示しか任せない。
|
35
|
+
流行れば負荷は莫大なものになるので、ガチャでSSRをばらまくことでAWSのインスタンス代金を補填すると……
|
36
|
+
|
33
37
|
> 何かチートされないための工夫や解決策がご教授ください。
|
34
38
|
|
35
39
|
まぁ、私が思いつくのは棋譜の提出ですね。
|