- 締切済み
PHPでのWaning: fileを変更したい
皆様、よろしくお願い致します。 http://xxxx.com/sys/dl.php?file=01と言うページは正常で、 http://xxxx.com/sys/dl.php?file=0と言うページにアクセスしたときに、 Waning: file(~):failed to open stream:No such file or directory in......................on line 139 と出ますが、このメッセージを変更したいのです。 これは、PHPファイルをいじるのでしょうか? また、変更ページはhtmlで書きたいのですが、無理でもOKです。 よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- galluda
- ベストアンサー率35% (440/1242)
がるです。 んと…ご相談承りたいのは山々なのですが、このサイトは「個人的な連絡先」とかは一通りNGなサイトなんですよね(苦笑 なので、とりあえずここで可能な範囲で & もしご縁があって別所で私をご覧になったらご連絡ください(笑 で…この手のセキュリティホールは非常に厄介なことが多いのですが。 とりあえず file というパラメタ名で得られるデータで、最低限「../」(UNIX系の場合)が見つかったら「速やかにエラーにする」程度のロジックだけでも随分と変わりますので。 なんとか頑張って組み込んでみてください。
- galluda
- ベストアンサー率35% (440/1242)
がるです。 んと…まずdl.phpというファイルはあるかと思います。 で、このファイルのなかで、おそらくはfopen(近しいあたりでfile_get_contentsその他)という関数をcallしているかと思うのですが。 直接的には、エラーの出ている行(139行)にある関数に@をつけてメッセージ抑止を図ればよいのですが。 > 上記のようにhttp://xxxx.com/sys/dl.php?file=0と言うページが無く(あったとしても見られても問題ない) > Waning: file(~):failed to open stream:No such file or directory in......................on line 139 > がでる場合も問題アリですか? ありです。 この脆弱性はおおよそ「httpdが動いている権限で見ることが可能なあらゆるファイルが覗き見される可能性がある」脆弱性なので。 無論プログラムをすべて見たわけではないので「確定」ではないのですが、パラメタとエラーメッセージから察するに、脆弱性の可能性は低くないと思われます。 相談できる専門家にきちんと相談されることを強くお勧めいたします。
お礼
こんにちはご指導ありがとうございます。 相談できる専門家が私の周りにいません。 もし、よろしければ、がるさま相談に乗っていただけないでしょうか? 宜しくお願い致します。
補足
こんにちはご指導ありがとうございます。 相談できる専門家が私の周りにいません。 もし、よろしければ、がるさま相談に乗っていただけないでしょうか? 宜しくお願い致します。
- galluda
- ベストアンサー率35% (440/1242)
がると申します。 とりあえずPHPファイルをいじればメッセージ抑止とか出来ますが。 拝見している限りでは、少なくとも「ディレクトリトラバーサル」脆弱性があることがほぼ断定できる状態です。 ご自身が作られたのであればとりあえずプログラム運用の停止を、他の方が作られたものなら、速やかに修正依頼をかけられることを強くお勧めいたします。
補足
こんにちは。ありがとうございます。 PHPファイルにてメッセージ抑止をしたいのですが、どのようにすれば良いのでしょうか? 「ディレクトリトラバーサル」脆弱性とのご指摘ありがとうございます。 上記のようにhttp://xxxx.com/sys/dl.php?file=0と言うページが無く (あったとしても見られても問題ない) Waning: file(~):failed to open stream:No such file or directory in......................on line 139 がでる場合も問題アリですか? よろしくご指導下さいませ
お礼
がるさん。ありがとうございます。 PHP初心者としてはPHPに精通している方にたよるしか・・・ すいませんです。 別所?でがるさんを発見?したのですがコメントを書いても宜しいですか?でも、そこでも連絡先記載は難しそうな・・・
補足
がるさんへ 本日、あれからPHPの本を読み漁りました(^^; なんとか、エラーメッセージは白ページの表示になりました。 できれば、考えうるすべてのエラーメッセージをオリジナルにしたいのですが、ご伝授願えませんでしょうか? よろしくお願いいたします。