【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 >>752
勘違いしてたかな?
アプリってPCなりスマホなりで動かすって事?
そういうことなら、この方法じゃ無理だな >>754
それだと、どんなに独自の方式を考えたところで
クライアント側がガードされていない限り
解析されて方式を破られる可能性があるよね? >>755
ですよね
俺もそう思いました
だから世間の開発者の人たちはどうしてるのかな、と PHPの話ではないけれど
大概のネットゲーム会社はクライアントアプリに
何らかの形でガードをかけている
ホストとの通信は暗号化し、
クライアントアプリ内部メモリへのアクセスも出来ないようにしている
チート対策でCPUの不正な高速化までチェックしている所もある
どこまでやれば良いのかを考えるとキリがないかも知れない >>758
うーむ
無理、ですね
チートされても致命傷にならない範囲で作るしかなさそう パケットを圧縮暗号化分割して何をしているのかわからなくする
もちろんメンテナンスと称して毎週のようにパターンは変えること 蔵のチート対策やデータの暗号化はさておき、今回の質問のメインって
鯖との接続・セキュリティ対策よね?
単純に認証方式の話になるんじゃないの?>756でも書かれてるけど >俺はそのunityで作ったアプリからしかそのphpサーバーにアクセスして欲しくありません
非正規クライアントを作られてほしくないからその対策を教えてくれ
って言ってんじゃないのか >>762
746ですが
俺の入門書レベルでの知識ではphpをサーバーに設置したらネットのどこからでも見れてしまうと
思ったのでそれで質問しました
あくまでゲームからアクセスして欲しいなと IPアドレスにデータを流す以外に通信する方法があるならそっちでやればいいけど、
普通に公開鍵と秘密鍵を使って認証するのが真っ当じゃないの
これを第三者クライアントが使えるんなら鍵の意味がない >>746
ゲームは、ログイン・認証した人しか、プレイできない。
もし、アクセス権のない人がアクセスすれば、ログイン画面にリダイレクトされる
ログイン後は、セッションを使うから、各プレイヤーは判別できる
Ruby on Rails で、システム運用構築・プログラミングの練習をした方がよい >>765
ログインですか
でもアプリとかのゲームではログインなしでランキング機能を使えるゲームも少なくないと
思うのですがそれについてはどう思われますか? >>762
例えBASIC認証でも自分で作ったプログラム以外からのアクセスは除外することはできるよね。
あとはセキュリティ強度の問題であって、チートやら暗号化の話は別の話のはず。 >>766
プログラム内部でログイン処理があるだけで表に出さないだけの話でしょ。
端末固有情報でアカウント作ってログインしてるだけ。
端末固有情報を使わないと鯖にはもちろん入れない。
あとは不正な端末固有情報を使わせない仕組みを考えるだけ。 IDとパスワードを手打ちでポチポチッとすることだけがログインじゃない
もうちょっと自分でいろいろ調べてみていいと思うよ
さすがにちょっと質問のレベルが低すぎて教えようがない >>768
なるほどわかりました
それで一つ質問なのですがある端末の識別情報を別の端末が偽装して使って成り済ます
という事はどうやって防ぐのでしょうか? その質問はまず偽装の方法を自分で調べて理解してからの方がいいよ
偽装の方法によって対策が変わるんだからそんなざっくりとした質問は答えようがない >>770
やっぱりこれ無しにしてください
まず初回アクセス時にサーバーでパスワードを発行してアプリ側で保存してしまえばいいんですよね
それでかなり確かなセキュリティーが保たれると思います
皆さんありがとうございました
あんまりしつこいとウザいのでこの辺で失礼したいと思います >>770
絶対不可能レベルなのか、仕組みさえバレなきゃまず偽装できないからそのレベルなのかで
方法論変わってくるんじゃない?
自分はなんちゃってプロテクトな感じで、固有情報を暗号化、初回登録時に
鯖で作ったパスを暗号化したのを端末のちょっと分かんないところにピーコしておしまい。
クラッカーからみて、何をどのようにしてるのか分かりにくくしてる程度で、
全バレしたらもちろんアウトだけど、「何を」「どのような暗号化」は中々分からないと思う。
カネ絡みやら個人情報の絡みがあるんなら、もっと厳格かつワンタイムパスワードとか
必要になってくるわね。 >>772
まず難しいこと考える前に作ってしまえば。
URLを秘密にしておくだけでとりあえず充分。
それがちゃんと動くようになったら不正利用防止を考えていけばいい。
少なくとも今は、ただツベコベ言ってるだけで実際にモノを作れるレベルじゃないんじゃないの?って印象しかない。 HTTP は、1回毎の通信だから、同じユーザーかどうか、判別できないが、
セッション機能を使うと、各プレイヤーは判別できる
毎回通信するたびに、各プレイヤーを特定できる暗号を送りあう
SSL・認証は、開発者の常識。
国家資格の基本情報処理技術者でも取れば? >>767
unityC#で作った正規GUIクライアントでランキングサーバにアクセスするのと
同じ情報手順プロトコルを解析してphpで作った非正規CUIクライアントでアクセスするの
サーバはどうやって正規クライアントと非正規クライアントを見分けるの?
正規クライアントを必要とするチートの話じゃなくてどちらかというとBOTの話 ゲームは、ログイン・認証した人しか、プレイできない。
もし、アクセス権のない人がアクセスすれば、ログイン画面にリダイレクトされる
ログイン後は、セッションを使うから、各プレイヤーは判別できる
それが、どのようなGUI クライアントで認証しても関係ない。
内容が同じなら、どのGUIクライアントでも同じ
全く同じレスポンスを返すのだろ。
エミュレーターなんか、そう >>778
まずは解析されにくくすることで非正規を弾く発想なので、
解析されてる時点ではどうしようもないよね。
ここからさらにどのように解析しにくくするのかというところが
ポイントであって、解析されてる前提だとどうしようもないんじゃないの。
むしろ正規の証明が難しそう。
認証局噛ませて秘密鍵公開鍵とかやってても、鍵盗まれた前提で
話しても意味ないでしょう。
ていうか、SSL/TLS通信ってそんな簡単に解析して非正規クローン作れたりするの? >まずは解析されにくくすることで非正規を弾く
俺がいってるのは
解析されにくくすることで非正規そのものを作ろうと思わない環境にするであって
非正規クライアントの存在そのものがないことを前提にしてるので
似たようなこと言ってるのだが微妙に話が噛み合ってないんよな 質問者の前提は
>俺の入門書レベルでの知識ではphpをサーバーに設置したらネットのどこからでも見れてしまうと
>思ったのでそれで質問しました
>あくまでゲームからアクセスして欲しいなと
なので、非正規クライアントも含まれると思うが SSL/TLSは経路上で情報が漏れることを防ぐためのものでエンドポイントでなら当然簡単に読み取れる そんなのはわかってるよ
1.非正規クライアントを作らせないというか作ろうとは思わない環境を作る
2.非正規クライアントを作られても問題のない環境を作る
という視点の違いであったにすぎずパケット圧縮暗号分割を否定してるわけではないだろう?
最も2はソケット開いたあと何したらいいかわからないはずなので
コードはせいぜい数行程度になり動作も不能で
俺的にはそんなものをクライアントと呼んでいいのか?っていう感じだが 非正規と判断されたクライアントに対してはなんらかのペナルティーを課せればいいかと
P2P file sharing ならばファイル拡散もかねてキャッシュを送りつける、とか 何をしたら良いか分からないはずと言うのは、かなり甘い見通し
ゲーム会社はそんな甘い考えは持っていない
例えばクライアントソフトをデバッガー環境下で起動されると
サバクラ間のやり取りの相当部分が解析されてしまう
ゲーム会社はそれをさせまいと独自のメモリ保護機構を構築し
そのようなハッキングを検出したら終了させている >>787
いやいや、言い方が悪かったか。
何も出来ないんだよ。毎週変えられたら実質解析なんて不可能なんだから。
やるべきことをやった上での話なのは当然に決まっとろう… >毎週変えられたら
だからこういう手間をかけている分けだろう
こういう手間をかけなかったら、解析されてしまうってこと
解析する側からすれば、
調べる対象は手元にあって、サーバーとのやり取りは全部把握出来てしまう
クライアントの中でどういう処理をしているかも調べる事が出来る
途中経路がいくら暗号化されていようと、クライアントの中は丸見えだ 最初から毎週暗号化しろっていってんじゃん。
不正規なクライアントを作らせないって話してるのに、
メモリ保護やらクライアント解析やら、チート対策とごっちゃにしてるんだよな。 まずプレーンな通信で済ませたプロトを作るのが先。
そんなのも作れないのにウダウダ言ってても意味が無いだろ。 毎週暗号パターンを変えるような仕組みを採用してるのが当たり前みたいな話になってるけど、
そんなアプリあんの?
後学のために教えてよ 作らせないことを前提にしたら
泥棒がいないようにすれば警察はいらないねって言いだしてる様なものだ
不正規なクライアントが簡単に作れてしまうだろ
それをどう対策とるんだよ
クライアントの中見られたら、暗号解読をどうやってるか丸見えだ
毎週変えようと、毎日変えようと、全然対策にならないだろう パケットと経路の違いもわからないのがペチパーの限界なんだろ
Web脳すぎて草 普通は通信相手と信頼関係があって、
外部にそれが漏れないように暗号化するって事だが
ゲームの場合は、通信相手のクライアント自体が
信用出来ない前提でやらないとだめ 初心者です
PHPからコマンド一発で終わらない外部プログラムの実行して操作を行うことってできますか?
例えばMySQLのコマンドラインツールのようなものです Laravelを使ってサイト作成しようとしてます。
ブログみたいに左側にサイドメニューがあって
メニューの項目をクリックすると中央のページにその項目の情報が表示されるという
ページを作りたいのですが、
サイドメニューを表示させる方法がわからないので教えてください。
調べたところ、レイアウトを設定するかもしれないところまではわかりました。 >>796
適当なシェルスクリプorバッチファイルを作成してキックかな
https://webkaru.net/php/function-exec-system/
本当にPHPでやる必要があるのか疑問だが >>792
昔遊んだセガのスマホゲーム
Wiresharkでキャプチャして中身見たら
Jsonをちょこっとエンコード(暗号化ですらない)しただけのデータでやり取りしてたから
デコードしてクラックして遊んでたよ
まあクラックしたところでクライアント側に反映されるだけで
サーバには反映されなかったから
さすがにサーバ側でチェックはしてるんだろうけど
俺も>>791に一票
phpレベルでやる事なんてさ
グダグダ言ってる暇あったらさっさと動くもん作れって話だw >>801
いやいやw
シェルスクリプト使えww
>>800も書いてるがphpでやる意味が全くない >>802間違えた
使ったのはWiresharkじゃなくてBurp Suiteだったw 制御やら関数やら使うならPHPでもいいんじゃない
シェルスクリプトってやったことない人には地味に面倒だと思うし PHP入ってる前提の環境ならPHPでシェルスクリプトっぽいことやったっていいと思うけどね楽だし
Python書けるならその方がいいとは思うけど >>802
暗号化していないんだったら>792の要件を全然満たしてないじゃん
単に自分が
「暗号化されてないゲームのパケットキャプチャしたぞ(ドヤ」
の話だよね >>807
は?
大手のセガですらそんな感じなんだから
791が言ってるように、つべこべ言ってる暇あったらプロト作れよ
って話をしたかっただけなんだがw
メモリ保護みたいなチート対策と混同してる奴いるし
何なのこのスレww さすがPHPerwww 一般的な質問しかしていないのにプロトタイプも糞もないぞ
勘違いしているのはお前だろう ざっとしか見てないから結局元の質問が何なのかよく分からないけど
せめて通信の秘匿化・通信内容の暗号化・その他ぐらいは分けて考えないと
そこをごちゃごちゃに書く人がいるからわけが分からなくなる
#たぶん何となくしってる事を適当に並べただけなんだろう
とりあえずapiみたいにhttp(s)使ってピンポン形式でやり取りするだけならプロトぐらいはすぐ作れるでしょ 質問者の聞きたいことは
出来るか出来ないかなので
出来ないと言う結論が出て
質疑は終了していると思うけど 非正規蔵を作られて鯖にアクセスされたくないってのが元々の質問内容
それに対して、暗号化して定期的に別パターンに変更するのが当たり前(ドヤ
とか宣い始めたのが>790>809(もうちょっと前から)なんだよね。
当たり前っつーならそれ挙げてみ?って書いたら、全然そうなってない例しか
挙げられなかった始末。
挙げ句の果てには809の言いぐさで論点すり替えて未だにマウンティング
しようと必死なわけ。
普通に考えたら、暗号化までは普通だろうが、暗号化パターンを定期的に変更
しようなら短スパンでの蔵の更新か暗号パターンファイルの更新をして配布
しなきゃならん。当然鯖の方も対応せにゃならん。
(日付時間を種にしてやる方法もなきにしもあらずだが穴がある)
809の脳味噌はそこまで一切考えずにゲーム脳の脊椎反射でマウントドヤドヤ
してるだけだろ。 https://mevius.5ch.net/gamedev/
こっちの板でやれよ
馬鹿にされないようにな
ここから来ましたって絶対に言うなよ >>814
俺は横からツッコんだだけで、むしろお前がガッツリ絡んでた話題だろ
なに他人の振りしてんだよ禿 自動でログインしてセッション確立して投稿するようなスクリプトがあるけど
HTTPに限らず通信手順をちゃんと模倣できていればそれが可能
防ぎたいのなら通信部分を解析されない対策をとればいいのだけど
まあ専門外になるしPHPerには難しいと思うよ 俺、セガよりも大手でゲーム作ってたけど、
>>802の言ってることは何も間違ってないと思うぞ
話の流れよく分からんからこれ以上のことは何も言えんが 話の前の方から引用すると
>最初から毎週暗号化しろっていってんじゃん。
これやってないよねって話でしょ
802自身が実際にはキャプチャしたら暗号化すらしてないって言ってる
毎週暗号パターン変更してるのかしてないのかの事実関係は
どうでもいいんだけど、上から目線で言う事毎回矛盾してるのはどうなのって話なのでは 別口からのアクセスおさえたいなら暗号化しろと
>>746あたりのレスに>>760が答えたのと
>>792に対するレスとして>>802が答えたのは関連があるのか? 関連ないのを持ち出されても関連ないとしか言いようがないな
>>787から「ゲーム会社では〜」を持ち出し、>>787-790で「毎週変えられたら」
という話が出たから>>792を書いたに過ぎない
結果的にゲーム会社でそこまでやってる例を挙げてるつもりで、暗号化されてない
例を挙げてドヤ顔してるやつが居るよなって話になってるだけ 配列で得られたデータをオブジェクトに変換してリターン
している例を見たのですが、何かメリットがあるのでしょうか?
return (object)$arr; 何かよく分からんが
勝手にマウント(笑)がどうとかと勘違いして
勝手にドヤ顔(笑)がどうとか喚き散らしてるだけって事はよく分かったw
つかプライドが高いのかなんなのかしらんが
現実世界で話したら実に面倒臭そうなやつばっかだなw
セガでもそんな感じなんだし難しい事考える前に適当に作って動かしてみれば
俺が言いたいのはこれだけ
何をそんなに噛み付く必要があるんだw キモすぎww >>822
返り値を受け取る側でオブジェクトの方が都合が良いからだろ
まあPHPerは配列大好きだからな
例えばPDOのPDOStatementなんかはTraversableだから
そのまんまforeachでぶん回せるのに
それをわざわざfetch()とかで配列にしてみたりとかさw >>823
偉そうに自己矛盾を認めないで草を生やして相手を卑下している時点で、どっちが面倒なのかな。 とりあえずプロトタイプをというのは至極まっとうな意見だと思うので
何をそんなに顔真っ赤にする必要があるのやら全くもって理解不能 マウント
ドヤ顔
上から目線
このあたりの単語を好んで使う人は自己愛性人格障害だから相手にしないのが吉 >>792に答えてって質問に対して的外れなことばかり言ってんじゃねえよ
的外ればっかだし、もうマウント取るしか能が無いよね?って話で図星突かれて
さらに的外れ続けんの?無能すぎね? う〜ん。
自分も非正規蔵の件について話に入ってたけど、認識違いとかのズレで
まあどうでもいいやと思って黙ってたけど、結論はいいとして方法論で
これが当然のようにいいながら矛盾しつつ相手を卑下するやり方には
同意しかねるね。
議論の内容より相手を叩く事に重点を置いてるだけにしか見えない。
まあこんなところで議論とか求めても仕方ないけど、筋が通ってない分
ヤクザにも及ばないタチの悪さとは思う。 792は自分が馬鹿にされてると勘違いしてるのか
大手でもそんなことやってないと818も言ってるんだなら答え出てるだろ
やっぱり病気だわお前 ローカルプロキシ使ってキャプチャするぐらいなら簡単にできるんだから実際にどんなデータになってるか見てみればいいのにね
他の人が言ってるとおり意外と簡素なものも少なくないと思うよ 毎週暗号化手段を変えろ
↓
>>792 そんなことやってるアプリあるの?
↓
>>802 セガでもやってなかったぞ
>>818 セガより大手でもやってないぞ
↓
>>792 激おこ
うん。意味が分からない >>833
当人じゃないが、端から見てて
>>792 そんなことやってるアプリあるの?
↓
>>802 セガでもやってなかったぞ
↑
そうじゃなくて
>>802 セガでこんなのやってたぞ(やってない)
としか読んでなかったですわ。 読み返してみてだいたいどうしてこうなったか理解した
毎週変える対策すればクライアントなんて出来ないはず→
「はず」ってのは考えが甘い→
言い方がわるかった「はず」ではなくて不可能→
毎週変えなかったら解析されてしまうだろ→
最初から毎週変えろいってる
この最後のはそういう前提で話をしてるってことであって
別にそれが当たり前だとは言ってないと思うんだわ 話の流れがイマイチ読めないが暗号化のキーは共通鍵って話なの?
それとも暗号化のアルゴリズムを変えるとかトンでも理論の話なの?
どっちでもおかしな話だけれど
そんなことしてるアプリあったら教えてほしいw ttps://www.otwo.jp/blog/cheat_measures/
多分こんな感じの話 >>829
>>792の毎週暗号化法を変えてるアプリはあるの?
に対する答えは
1.そういう事をやってるものもある「かも」
2.やってないものもある
のどちらかなわけで
1の具体例はまだないが
>>802は2の具体例なんだから別に的外れじゃないでしょ
誰も”全部そうしてる””絶対にそんな事はない”という0か1かの話しじゃないのにさ
マウントだの何だの言ってるあなたの方がよほど的外れだ 外から解析できるような鍵なら毎週変えたところで無意味だし、
リバースして解析されるならそれこそ毎週変えても無意味だと思うの。
だからそんなことは置いといて、さっさとプロト作れってこった。
それが出来たらパラメタのチェック方法を掘り下げていく方が効果的。 >>836
>どっちでもおかしな話
だよなw
暗号化やハッシュ値生成のためのアルゴリズムは高度な数学の話になるから
そのアルゴリズム自体を毎週新しく生み出せってのはトンデモ話だが
既存のアルゴリズムの組み合わせ順を変えるとか
暗号化⇔複合に使うキーやベクトル値を変えるとかって話なら
週ごとどころか通信毎にランダム化できるんだから別に非現実的な話じゃないよな
※つか、なぜ”週”単位なのかの方がよく分からんw
>>838
もうそいつの事はほっとけよw
>>839
特に下2行には激しく同意 >>838
>>792では「【あって当たり前な流れになってるけど】あるなら具体例を教えてくれ」であって「あるかないか教えてくれ」ではないんだよ
単純明快な日本語でなにもおかしくないだろ
求めてるのは完全に1.(あればだが)なんだが、なんで2.でOKみたいな流れになってんのよ いつまでクソみたいな揚げ足取りをやってるんだか
特にお前の話は糞の役にも立ってないんだから黙ってクソして寝てろ
マウントとかドヤ顔って単語を好んで使う奴ってほんとゴミクズだわ >>841
じゃああなたの質問には誰も何も答えないのが正解ってことね
それで満足?
はいはい
こんな人を真面目に相手にした俺が馬鹿でしたよ まあでもlocalに串立ててGUIでデータの中身見るなんてのは
専門知識も要らない低レベルな話なんで
そんな話をドヤ顔だのマウントだのと言われて俺困惑ww
何がこいつの逆鱗に触れたんだろうw
おちょくる分には面白いが あるなら教えてくれ(あればな)→これでドヤ!(ないけど)→ねえんだろ何ドヤ顔してんの
この流れで悔しがってるのが802以外に居るのが不思議だね
本人か親兄弟か何か? PHP 7でASPタグが廃止された理由ってなに?
セキュリティ?パフォーマンス? (当たり前というのは思い込みだが)当たり前の流れにしたくなさそうな>>792に
加勢した>>802になぜか噛み付いてるんだもん
wiresharkでパケットキャプチャしたってのが何か高度なスキルに思えて
そんな自己満披露せんでいいよとかキレちゃったのかはわからないけど
傍からみててなぜキレてるのかさっぱりわからないw 自分も誤読した立場なんでどっちでも取れるレスだったなあと思えたけど、
こうやって一々煽りに来るのが一番悪いと思いますね
いつまで続けるんです? >>848
wiresharkじゃなくてburpsuite
burpsuiteの方がそういう用途に特化してて簡単
それでも>>792にとってはドヤ顔に見えてしまった
つまり792はその程度の知識の持ち主だってこと
もう相手にするのはよそう >>850
こういうproposalに対してさえnoを投じるrasmusほんま老害 ■ このスレッドは過去ログ倉庫に格納されています