【PHP】下らねぇ質問はここに 9

PHPに関する質問スレです

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 8
http://mevius.5ch.net/test/read.cgi/tech/1489506082/

次スレは>>980以降
本文の1行目に以下を追加すること
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured

762デフォルトの名無しさん (ワッチョイ e7b8-PLlx)2018/10/11(木) 11:25:38.96ID:ywvO8NYp0
>俺はそのunityで作ったアプリからしかそのphpサーバーにアクセスして欲しくありません
非正規クライアントを作られてほしくないからその対策を教えてくれ
って言ってんじゃないのか

763デフォルトの名無しさん (ワッチョイ df6d-3WQG)2018/10/11(木) 12:25:06.79ID:RBgNCbjF0
>>762
746ですが
俺の入門書レベルでの知識ではphpをサーバーに設置したらネットのどこからでも見れてしまうと
思ったのでそれで質問しました
あくまでゲームからアクセスして欲しいなと

764デフォルトの名無しさん (ワッチョイ 7fe8-37bo)2018/10/11(木) 12:50:41.46ID:bd8i7ua+0
IPアドレスにデータを流す以外に通信する方法があるならそっちでやればいいけど、
普通に公開鍵と秘密鍵を使って認証するのが真っ当じゃないの
これを第三者クライアントが使えるんなら鍵の意味がない

765デフォルトの名無しさん (ワッチョイ 7f80-WnU0)2018/10/11(木) 13:08:42.23ID:3Bdkvxy90
>>746
ゲームは、ログイン・認証した人しか、プレイできない。
もし、アクセス権のない人がアクセスすれば、ログイン画面にリダイレクトされる

ログイン後は、セッションを使うから、各プレイヤーは判別できる

Ruby on Rails で、システム運用構築・プログラミングの練習をした方がよい

766デフォルトの名無しさん (ワッチョイ df6d-3WQG)2018/10/11(木) 13:11:06.48ID:RBgNCbjF0
>>765
ログインですか
でもアプリとかのゲームではログインなしでランキング機能を使えるゲームも少なくないと
思うのですがそれについてはどう思われますか?

767デフォルトの名無しさん (ワッチョイ e79e-fbiU)2018/10/11(木) 13:15:39.15ID:zE20d/IG0
>>762
例えBASIC認証でも自分で作ったプログラム以外からのアクセスは除外することはできるよね。
あとはセキュリティ強度の問題であって、チートやら暗号化の話は別の話のはず。

768デフォルトの名無しさん (ワッチョイ e79e-fbiU)2018/10/11(木) 13:19:09.28ID:zE20d/IG0
>>766
プログラム内部でログイン処理があるだけで表に出さないだけの話でしょ。
端末固有情報でアカウント作ってログインしてるだけ。

端末固有情報を使わないと鯖にはもちろん入れない。
あとは不正な端末固有情報を使わせない仕組みを考えるだけ。

769デフォルトの名無しさん (ワッチョイ c723-WBp8)2018/10/11(木) 13:24:40.62ID:Ub0lOJUx0
IDとパスワードを手打ちでポチポチッとすることだけがログインじゃない
もうちょっと自分でいろいろ調べてみていいと思うよ
さすがにちょっと質問のレベルが低すぎて教えようがない

770デフォルトの名無しさん (ワッチョイ df6d-3WQG)2018/10/11(木) 13:27:20.03ID:RBgNCbjF0
>>768
なるほどわかりました
それで一つ質問なのですがある端末の識別情報を別の端末が偽装して使って成り済ます
という事はどうやって防ぐのでしょうか?

771デフォルトの名無しさん (ワッチョイ c723-WBp8)2018/10/11(木) 13:51:16.45ID:Ub0lOJUx0
その質問はまず偽装の方法を自分で調べて理解してからの方がいいよ
偽装の方法によって対策が変わるんだからそんなざっくりとした質問は答えようがない

772デフォルトの名無しさん (ワッチョイ df6d-3WQG)2018/10/11(木) 13:51:26.37ID:RBgNCbjF0
>>770
やっぱりこれ無しにしてください
まず初回アクセス時にサーバーでパスワードを発行してアプリ側で保存してしまえばいいんですよね
それでかなり確かなセキュリティーが保たれると思います

皆さんありがとうございました
あんまりしつこいとウザいのでこの辺で失礼したいと思います

773デフォルトの名無しさん (ワッチョイ e79e-fbiU)2018/10/11(木) 14:01:09.06ID:zE20d/IG0
>>770
絶対不可能レベルなのか、仕組みさえバレなきゃまず偽装できないからそのレベルなのかで
方法論変わってくるんじゃない?

自分はなんちゃってプロテクトな感じで、固有情報を暗号化、初回登録時に
鯖で作ったパスを暗号化したのを端末のちょっと分かんないところにピーコしておしまい。
クラッカーからみて、何をどのようにしてるのか分かりにくくしてる程度で、
全バレしたらもちろんアウトだけど、「何を」「どのような暗号化」は中々分からないと思う。

カネ絡みやら個人情報の絡みがあるんなら、もっと厳格かつワンタイムパスワードとか
必要になってくるわね。

774デフォルトの名無しさん (ワッチョイ e79e-fbiU)2018/10/11(木) 14:02:05.28ID:zE20d/IG0
書き込みボタン押す前に電話してたら終わってた

>>772
まず難しいこと考える前に作ってしまえば。
URLを秘密にしておくだけでとりあえず充分。
それがちゃんと動くようになったら不正利用防止を考えていけばいい。
少なくとも今は、ただツベコベ言ってるだけで実際にモノを作れるレベルじゃないんじゃないの?って印象しかない。

776デフォルトの名無しさん (ワッチョイ 7f80-WnU0)2018/10/11(木) 14:08:53.21ID:3Bdkvxy90
HTTP は、1回毎の通信だから、同じユーザーかどうか、判別できないが、
セッション機能を使うと、各プレイヤーは判別できる

毎回通信するたびに、各プレイヤーを特定できる暗号を送りあう

SSL・認証は、開発者の常識。
国家資格の基本情報処理技術者でも取れば?

777デフォルトの名無しさん (ワッチョイ 7fe8-37bo)2018/10/11(木) 14:18:55.27ID:bd8i7ua+0
不正ログイン対策と通信毎のユーザー判別とは別の話

778デフォルトの名無しさん (ワッチョイ e7b8-PLlx)2018/10/11(木) 15:26:02.99ID:ywvO8NYp0
>>767
unityC#で作った正規GUIクライアントでランキングサーバにアクセスするのと
同じ情報手順プロトコルを解析してphpで作った非正規CUIクライアントでアクセスするの
サーバはどうやって正規クライアントと非正規クライアントを見分けるの?
正規クライアントを必要とするチートの話じゃなくてどちらかというとBOTの話

779デフォルトの名無しさん (ワッチョイ 7f80-WnU0)2018/10/11(木) 16:10:14.57ID:3Bdkvxy90
ゲームは、ログイン・認証した人しか、プレイできない。
もし、アクセス権のない人がアクセスすれば、ログイン画面にリダイレクトされる

ログイン後は、セッションを使うから、各プレイヤーは判別できる

それが、どのようなGUI クライアントで認証しても関係ない。
内容が同じなら、どのGUIクライアントでも同じ

全く同じレスポンスを返すのだろ。
エミュレーターなんか、そう

780デフォルトの名無しさん (ワッチョイ e79e-fbiU)2018/10/11(木) 16:25:57.66ID:zE20d/IG0
>>778
まずは解析されにくくすることで非正規を弾く発想なので、
解析されてる時点ではどうしようもないよね。

ここからさらにどのように解析しにくくするのかというところが
ポイントであって、解析されてる前提だとどうしようもないんじゃないの。
むしろ正規の証明が難しそう。

認証局噛ませて秘密鍵公開鍵とかやってても、鍵盗まれた前提で
話しても意味ないでしょう。

ていうか、SSL/TLS通信ってそんな簡単に解析して非正規クローン作れたりするの?

781デフォルトの名無しさん (ワッチョイ 7f81-VhFj)2018/10/11(木) 16:33:34.56ID:kxyqPSNi0
解析を試みる人がアプリの所有者の場合も考えないと

782デフォルトの名無しさん (ワッチョイ e7b8-PLlx)2018/10/11(木) 16:43:19.53ID:ywvO8NYp0
>まずは解析されにくくすることで非正規を弾く
俺がいってるのは
解析されにくくすることで非正規そのものを作ろうと思わない環境にするであって
非正規クライアントの存在そのものがないことを前提にしてるので
似たようなこと言ってるのだが微妙に話が噛み合ってないんよな

783デフォルトの名無しさん (ワッチョイ 7f81-VhFj)2018/10/11(木) 17:02:25.53ID:kxyqPSNi0
質問者の前提は

>俺の入門書レベルでの知識ではphpをサーバーに設置したらネットのどこからでも見れてしまうと
>思ったのでそれで質問しました
>あくまでゲームからアクセスして欲しいなと

なので、非正規クライアントも含まれると思うが

784デフォルトの名無しさん (ワッチョイ a72d-4Hut)2018/10/11(木) 17:08:05.67ID:mY8AIbZq0
SSL/TLSは経路上で情報が漏れることを防ぐためのものでエンドポイントでなら当然簡単に読み取れる

785デフォルトの名無しさん (ワッチョイ e7b8-PLlx)2018/10/11(木) 17:20:45.95ID:ywvO8NYp0
そんなのはわかってるよ
1.非正規クライアントを作らせないというか作ろうとは思わない環境を作る
2.非正規クライアントを作られても問題のない環境を作る
という視点の違いであったにすぎずパケット圧縮暗号分割を否定してるわけではないだろう?

最も2はソケット開いたあと何したらいいかわからないはずなので
コードはせいぜい数行程度になり動作も不能で
俺的にはそんなものをクライアントと呼んでいいのか?っていう感じだが

786 ◆QZaw55cn4c (ワッチョイ df60-vJCm)2018/10/11(木) 20:27:41.65ID:GbIju3sk0
非正規と判断されたクライアントに対してはなんらかのペナルティーを課せればいいかと
P2P file sharing ならばファイル拡散もかねてキャッシュを送りつける、とか

787デフォルトの名無しさん (ワッチョイ 7f81-VhFj)2018/10/11(木) 21:00:09.10ID:kxyqPSNi0
何をしたら良いか分からないはずと言うのは、かなり甘い見通し
ゲーム会社はそんな甘い考えは持っていない
例えばクライアントソフトをデバッガー環境下で起動されると
サバクラ間のやり取りの相当部分が解析されてしまう
ゲーム会社はそれをさせまいと独自のメモリ保護機構を構築し
そのようなハッキングを検出したら終了させている

788デフォルトの名無しさん (ワッチョイ 27e4-PLlx)2018/10/13(土) 10:43:20.37ID:vROhTmSS0
>>787
いやいや、言い方が悪かったか。
何も出来ないんだよ。毎週変えられたら実質解析なんて不可能なんだから。
やるべきことをやった上での話なのは当然に決まっとろう…

789デフォルトの名無しさん (ワッチョイ 7f81-VhFj)2018/10/13(土) 11:00:18.78ID:WkgZggeq0
>毎週変えられたら

だからこういう手間をかけている分けだろう
こういう手間をかけなかったら、解析されてしまうってこと
解析する側からすれば、
調べる対象は手元にあって、サーバーとのやり取りは全部把握出来てしまう
クライアントの中でどういう処理をしているかも調べる事が出来る
途中経路がいくら暗号化されていようと、クライアントの中は丸見えだ

790デフォルトの名無しさん (ワッチョイ 27e4-PLlx)2018/10/13(土) 17:02:31.63ID:vROhTmSS0
最初から毎週暗号化しろっていってんじゃん。
不正規なクライアントを作らせないって話してるのに、
メモリ保護やらクライアント解析やら、チート対策とごっちゃにしてるんだよな。

まずプレーンな通信で済ませたプロトを作るのが先。
そんなのも作れないのにウダウダ言ってても意味が無いだろ。

792デフォルトの名無しさん (ワッチョイ 7fe8-37bo)2018/10/13(土) 17:31:15.96ID:wAhJCvly0
毎週暗号パターンを変えるような仕組みを採用してるのが当たり前みたいな話になってるけど、
そんなアプリあんの?
後学のために教えてよ

793デフォルトの名無しさん (ワッチョイ 7f81-VhFj)2018/10/13(土) 17:32:45.69ID:WkgZggeq0
作らせないことを前提にしたら
泥棒がいないようにすれば警察はいらないねって言いだしてる様なものだ
不正規なクライアントが簡単に作れてしまうだろ
それをどう対策とるんだよ

クライアントの中見られたら、暗号解読をどうやってるか丸見えだ
毎週変えようと、毎日変えようと、全然対策にならないだろう

パケットと経路の違いもわからないのがペチパーの限界なんだろ
Web脳すぎて草

795デフォルトの名無しさん (ワッチョイ 7f81-VhFj)2018/10/13(土) 17:51:32.87ID:WkgZggeq0
普通は通信相手と信頼関係があって、
外部にそれが漏れないように暗号化するって事だが
ゲームの場合は、通信相手のクライアント自体が
信用出来ない前提でやらないとだめ

796デフォルトの名無しさん (ワッチョイ bf16-Zu1O)2018/10/13(土) 20:29:18.59ID:t1cbhpEg0
初心者です
PHPからコマンド一発で終わらない外部プログラムの実行して操作を行うことってできますか?
例えばMySQLのコマンドラインツールのようなものです

797デフォルトの名無しさん (ワッチョイ e7a5-CsiS)2018/10/14(日) 01:22:40.52ID:kPrWLnvE0
Laravelを使ってサイト作成しようとしてます。
ブログみたいに左側にサイドメニューがあって
メニューの項目をクリックすると中央のページにその項目の情報が表示されるという
ページを作りたいのですが、
サイドメニューを表示させる方法がわからないので教えてください。
調べたところ、レイアウトを設定するかもしれないところまではわかりました。

798デフォルトの名無しさん (ワッチョイ e776-WBp8)2018/10/14(日) 01:25:26.11ID:DpP+LriY0
PHPとかLaravel以前にHTML勉強せよ

FW使えばなんでもできるとでも思っているのか

800デフォルトの名無しさん (ワッチョイ dfd2-7vHE)2018/10/14(日) 02:34:26.10ID:VGDv0f/D0
>>796
適当なシェルスクリプorバッチファイルを作成してキックかな
https://webkaru.net/php/function-exec-system/
本当にPHPでやる必要があるのか疑問だが

801デフォルトの名無しさん (ワッチョイ bf16-Zu1O)2018/10/14(日) 16:07:22.22ID:nHJacGHV0
>>800
ありがとうございます
やってみます

802デフォルトの名無しさん (ワッチョイ 47e9-Zu1O)2018/10/15(月) 13:04:12.63ID:tYDBCfF70
>>792
昔遊んだセガのスマホゲーム
Wiresharkでキャプチャして中身見たら
Jsonをちょこっとエンコード(暗号化ですらない)しただけのデータでやり取りしてたから
デコードしてクラックして遊んでたよ

まあクラックしたところでクライアント側に反映されるだけで
サーバには反映されなかったから
さすがにサーバ側でチェックはしてるんだろうけど

俺も>>791に一票
phpレベルでやる事なんてさ
グダグダ言ってる暇あったらさっさと動くもん作れって話だw

803デフォルトの名無しさん (ワッチョイ 47e9-Zu1O)2018/10/15(月) 13:10:02.66ID:tYDBCfF70
>>801
いやいやw
シェルスクリプト使えww
>>800も書いてるがphpでやる意味が全くない

804デフォルトの名無しさん (ワッチョイ 47e9-Zu1O)2018/10/15(月) 13:12:14.00ID:tYDBCfF70
>>802間違えた
使ったのはWiresharkじゃなくてBurp Suiteだったw

805デフォルトの名無しさん (ワッチョイ 7fb8-PLlx)2018/10/15(月) 13:21:42.85ID:4PSVnYhZ0
制御やら関数やら使うならPHPでもいいんじゃない
シェルスクリプトってやったことない人には地味に面倒だと思うし

PHP入ってる前提の環境ならPHPでシェルスクリプトっぽいことやったっていいと思うけどね楽だし
Python書けるならその方がいいとは思うけど

807デフォルトの名無しさん (ワッチョイ 7fe8-37bo)2018/10/15(月) 17:19:44.72ID:EiXwBhFU0
>>802
暗号化していないんだったら>792の要件を全然満たしてないじゃん
単に自分が
「暗号化されてないゲームのパケットキャプチャしたぞ(ドヤ」
の話だよね

808デフォルトの名無しさん (ワッチョイ 7f81-VhFj)2018/10/15(月) 17:32:28.40ID:Obfj9PeS0
暗号解読法知りたいなら、このスレではないぞ

809デフォルトの名無しさん (ワッチョイ 47e9-Zu1O)2018/10/16(火) 13:07:24.26ID:FKF9rkIY0
>>807
は?
大手のセガですらそんな感じなんだから
791が言ってるように、つべこべ言ってる暇あったらプロト作れよ
って話をしたかっただけなんだがw

メモリ保護みたいなチート対策と混同してる奴いるし
何なのこのスレww さすがPHPerwww

810デフォルトの名無しさん (ワッチョイ 078a-oHS3)2018/10/16(火) 13:13:55.52ID:dIjk/xku0
一般的な質問しかしていないのにプロトタイプも糞もないぞ
勘違いしているのはお前だろう

811デフォルトの名無しさん (ワッチョイ 275b-ToA/)2018/10/16(火) 13:31:22.77ID:1YlWxxt/0
ざっとしか見てないから結局元の質問が何なのかよく分からないけど
せめて通信の秘匿化・通信内容の暗号化・その他ぐらいは分けて考えないと
そこをごちゃごちゃに書く人がいるからわけが分からなくなる
#たぶん何となくしってる事を適当に並べただけなんだろう

とりあえずapiみたいにhttp(s)使ってピンポン形式でやり取りするだけならプロトぐらいはすぐ作れるでしょ

812デフォルトの名無しさん (ワッチョイ 078a-oHS3)2018/10/16(火) 13:40:34.39ID:dIjk/xku0
質問者の聞きたいことは
出来るか出来ないかなので
出来ないと言う結論が出て
質疑は終了していると思うけど

新着レスの表示
レスを投稿する