teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

te2jiさんだった

2019/01/30 03:04

投稿

miyabi-sun
miyabi-sun

スコア21445

answer CHANGED
@@ -27,7 +27,7 @@
27
27
  その結果だけ送って下さいという方式でハイスコア計算を行う仕組みはチートに対して無力です。
28
28
  対策も何もありません。
29
29
 
30
- tetsujiさんが出してたURL内のハッシュを送れという対策も、
30
+ te2jiさんが出してたURL内のハッシュを送れという対策も、
31
31
  ハッシュを作るアルゴリズムがJS内にあるのにどうすんねんという感じですね。
32
32
 
33
33
  なので、結局大抵のソシャゲは逐一サーバーへ接続してお伺いを立てるわけですね。

1

ぷち修正

2019/01/30 03:03

投稿

miyabi-sun
miyabi-sun

スコア21445

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
- 例えば「そのゲームのサイト」というアイデア恐らくHTTPリクエストのヘッダーにひっついている[Referer](https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Referer)の事を指しているのでしょうか?
8
+ 例えば「そのゲームのサイト」というはHTTPリクエストのヘッダー内の[Referer](https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Referer)の事を指しているのでしょうか?
9
9
 
10
- もしそうならRefererは「自己申告」で無意味です。
10
+ もしそうならRefererは「自己申告」ですので確認してもです。
11
- ちょっとでもHTTPのリクエストの飛ばし方知っ人なも改ざん可能す。
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
  まぁ、私が思いつくのは棋譜の提出ですね。