サーバ上に実行可能として置いてあるPHPスクリプトのソースコードを、何かの手段で見ることは可能でしょうか。

以前、どこかのスクリプトサイト(もしくはブログ)で「sourceviewer.php?url=http://dummy.com/dummy.php」みたいなアドレスを見たことがあります。
可能だとすれば、具体的な方法も添えて教えていただければと思います。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/05/07 00:37:50
  • 終了:--

回答(3件)

id:chatoraneko No.1

chatoraneko回答回数221ベストアンサー獲得回数02005/05/07 01:02:54

ポイント40pt

URLはダミーです。


簡単な方法ですが

http://hogehoge/test.cgi?filename.php


としてtest.cgiに


#!/usr/bin/perl


open IN,”filename”;

my @lines = <IN>;

print ”Content-type: text/html¥n¥n”;

print @lines;


みたいな方法で閲覧するのはいかがでしょうか。

ただし上記の方法だとセキュリティ的に甘すぎるので

そのあたり対策が必要かと思います。

(/etc/passwdファイルが見えてしまったりするので・・・)

id:xtra

同ディレクトリに置いたperlやPHPスクリプトが覗けた時は衝撃でしたが、httpアクセスによる他サーバに置いてあるものはやはり見れないみたいですね。ちょっと安心しました。

が、他サーバであってもヌルい管理者のものであればこんなやり方もある、というのがあれば教えていただきたいので引き続き回答募集です。

2005/05/07 01:28:36
id:troubleantenna No.2

troubleantenna回答回数71ベストアンサー獲得回数02005/05/07 01:31:10

ポイント40pt

http://www.koders.com/

Koders - Source Code Search Engine

PHPスクリプトを置いているサーバ上で何らかの仕掛けを施してあれば別ですが、普通はできません。PHPスクリプト内にデータベース等へアクセスするパスワードを(暗号化なしで)書き込むような場合もありますので、下手に許せばセキュリティホールになっちゃいます。

URLは、ご質問のものとは違うと思いますが、世間一般に公開されたソースコードからキーワード検索できるサーチエンジンです。

id:xtra

ですよね。最近、PHPを書き始めてDBのユーザ、パスワードを書いてて、「これって見られたりしないのかな」と思ったのが質問の動機です。

これまたひとまず安心しました。

しかし、そんなセキュリティなんてこんなホールがあるぜ!という方がいらっしゃれば、引き続き教えていただきたく(というか、もしあるとすれば公開されたら非常にマズイ気もしますが)

2005/05/07 01:37:02
id:takosan No.3

takosan回答回数222ベストアンサー獲得回数72005/05/07 01:41:27

ポイント20pt

http://www.geocities.jp/officeandaccs/gutai.html

ACCS不正アクセス事件のテンプレ

他人のサイトでそういった事をやって、あろうことか衆人環視のイベントで晒してしまったので逮捕・起訴・地裁で有罪というのがこの事件です。perlとphpでモノは違いますが、結果は同じだと思います。

というわけで、自分が管理する以外のサーバで試すのはヤメましょう。

答えになってないのでポイントは不要です。

id:xtra

この事件は私も多少興味があったので少し調べたのですが、いろいろと問題もあるようですね。迂闊なことは言えませんが。

提示していただいた事件(事件?)を知ったのも今回質問した動機の一つとも言えます。

私はいくつか契約サーバおよび自サーバを持っているのでもし何か方法があればそこで試そうと考えていました。

ある程度疑問も解決し、これ以上回答がつかないようなので終了します。ありがとうございました。

2005/05/08 00:12:02

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません