【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 if('aaa'==' aaa')//true
となることを発見したんですが、前方の空白は無視されるんですか?
これは正しい使い方でいいのですか?
よろしくお願いします >>720です
>>721さん
詳しく教えてくださり、ありがとうございます。
いただいたアドバイスを生かせるよう精進します。 >>724
すみません、間違えました
アルファベットaaaじゃなくて、数字1234でした
var_dump('1234'==' 1234');//bool(true) メール送信の際に確認と検証目的で画面上に表示させる時、気をつけるべきことって どのくらいあるものなのだろうか(´・ω・`)
htmlspecialchars() ? 未入力の確認 ? (´ρ`) >>726
単に表示するだけならそのくらいだろうけど、チェックも含むならメールのエンコーディングで使えない文字が含まれてないかとかかな。 >>725
http://php.net/manual/ja/language.operators.comparison.php
>整数値を文字列と比較したり、比較に数値形式の文字が含まれる場合は、文字列が 数値に変換され、 数値としての比較を行います。
要は文字列'1234'が数値形式(int型)なので↓のように比較される。
(int)'1234' == (int)' 1234'
> === あるいは !== による比較では型変換は発生しません。 この場合は値だけでなく型も比較します。
なのでこういう自動キャストが困るのであれば===で比較すること。 すまない。
微妙にスレチなのだが助けてほしい。
端的に言うとXAMPPの処理中にブルー画面になり、MySQLが壊れて動かくなった。
コントロール画面でStartを押しても一瞬動いてすぐ止まる。
調べてみたところ復旧方法がない。
XAMPPを外付けに移し、再インストールはうまくできた。
問題はSQLのデータをどのように移し替えればいいのかわからない。
エクスポートはできておらず、移行の仕方がわからない。
mysqlのdataファイルにデータベースの情報があるのはわかったが、
ここままファイル移動させただけでは動かないのです。
移行方法をご存知の方いらっしゃいましたらお教えください。 ・echo htmlspecialchars($var = (string)filter_input(INPUT_POST,'var',ENT_QUOTES,'UTF-8'));
・echo $var = (string)filter_input(INPUT_POST,'var',FILTER_SANITIZE_FULL_SPECIAL_CHARS)
どっちが危険だと思う? >>731
そんな汚いコード、読むまでもなく危険。 >>730
xamppのどこかにログ出力されてるかは知らないけど、
まずエラーログを見ないことには。
windowsのイベントビューアとかにもなんか書いてる可能性がある。 >>733
#1932 - Table 'rssurl.imglist' doesn't exist in engine
(訳)#1932 - テーブル 'rssurl.imglist'はエンジンに存在しません
というエラーが出ます。
phpMyAdminのデータベースのページにはrssurlがあるのですが、
テーブルのimglistをクリックすると上記のエラーが出ます。
「ibdata1」「ib_logfile0」「ib_logfile1」を書き直せばいいというとこまではわかったのですが、
やり方までは分かりませんでした。
古いファイルもdataファイル内のものしかありません。 >>731
前者だな
理由は↓が語ってくれるだろう ワッチョイ 9fd0-ZVm4
そろそろ金払って誰かに個人レッスンしてもらいなさい >>734
もうそこまで来たらバックアップ使って一から復旧した方が速い
まさかバックアップ取ってないとかないと思うが、もしそうなら諦めロン
次からは定期的に数世代分はバックアップ取るようにしなよ >>737
FRMファイルとIBDファイルは残っています。
これらのファイルから復元はできないでしょうか? >>736
ここの方々の方が信頼できるから仕方ないです(´・ω・`)
いつも教えてくれて ありがとうございます。 >>738
それが壊れる前のファイルなら単純に差し替えれば動くだろう
バックアップあるならそこから引っ張ってくればいい
それが壊れたあとのファイルならそのファイル自体が壊れてるのだからあったところで意味がない >>740
ありがとうございます。
頑張ってみます。
>>741
ファイルは壊れていないようなので
このまま使ってみようと思います。 >>736
横から失礼、個人レッスンってどこで頼むのがいい?
テックアカデミーや侍でもできるのか?とか、
クラウドワークスやココナラで単発でお願いするのがいいかと迷っている 会社の先輩から受け継いだコードに
ini_set("allow_url_fopen", 1);
って有るのですが、何ですか?
PHP初めて三日目なので何も分かりません。 質問です
将来的にこういうアプリを作りたいと思っています
まずゲーム部分をunityで作って例えばオンラインランク的なネットワーク機能はphpで作るという物です
ここで疑問なのですがphpはサーバーとしてネットに公開するという事になりますよね?
俺はそのunityで作ったアプリからしかそのphpサーバーにアクセスして欲しくありません
でもネットに公開してる時点で普通にブラウザからでもアクセスできてしまうと思うのですが
こういう問題について世間の開発者の人たちはどういうやり方を用いているのでしょうか? >>746
Webサーバー上でPHPを動かそうとしてる?
それなら、通常のポートと違うポートを使用して
そのポートを外部から遮断しておけば良いのでは >>746
> unityで作ったアプリからしかそのphpサーバーにアクセスして欲しくありません
これと
> でもネットに公開してる時点で普通にブラウザからでもアクセスできてしまうと思う
これは全然別のレベル。
要件としては前者だと思うけど、各社のノウハウになるんじゃないかなぁ。
簡易的なものだと、header 触るぐらい。 >>747
レンタルしてサーバーを使おうと思ってます
外部から遮断してアプリからアクセスできるんですか?
>>748
個人で作ってるので簡易的なものしか作れません
ヘッダーの設定ですね
覚えておきます プログラミングはphp mysqlを齧った初心者です。
下記のようなユーザー参加型ランキングサイトを作りたいのですが
https://www.animeranking.net/index.php
ユーザーにデータベースにある作品でランキングを作成してもらい
他ユーザーの投票によりランキングを変動/変動しない(ユーザーの任意)
またユーザー登録ログインシステムも作りたいのですが
html css php mysqlで事足りるでしょうか?
ご教授お願いします。 >>749
レンタルサーバーなら、
アクセス元のIPアドレスを取得して
自ホストからのリクエストでなければ
応答せずそのまま終了すれば良いよ >>751
アプリやpcソフトからのアクセスで自分のホストとかわかるんですか? >>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を書いたに過ぎない
結果的にゲーム会社でそこまでやってる例を挙げてるつもりで、暗号化されてない
例を挙げてドヤ顔してるやつが居るよなって話になってるだけ ■ このスレッドは過去ログ倉庫に格納されています