はPHP

2011-11-17 4 views
6

のリモートサーバーからのファイルとフォルダの一覧を取得する:はPHP

$url='foldername'; 
$dir = opendir($url); 

//List files in images directory 
while (($file = readdir($dir)) !== false) 
    { 

    echo "filename: " . $file . "<br />"; 
    } 
closedir($dir); 

...それは出力:

filename: a.gif 
filename: file.html 
filename: g.gif 
filename: gg.html 

私は別のサーバー上のすべてのファイルとフォルダを見てみたいですURLから:私はexample.comからファイルやフォルダの名前を見つけるにはどうすればよい

$url="http ://example.com" 

+0

で正常に動作する必要があります/あなたは本当にすべてのファイルとフォルダのURLを参照しますか(不可能/答えを参照)、または、あなたのサーバー上のすべてのファイルとファイルをリストしようとしていますウェブスペース? –

答えて

6

http://は、ディレクトリ一覧をサポートしていません。あなたがしようとしていることは不可能です。

+0

それを開く方法。ファイルを開くための関数がありました。 – vineeth

+0

@vineeth:私が言ったように、httpサーバのリモートディレクトリリストを取得することは不可能です。あなたがFTPアクセスのようなサーバへの別のルートを持っていない限り、あなたは不運です。 –

4

誰もが自分のディレクトリツリーを調べることができるので、そうでなければウェブサイトははるかに脆弱です!

FTPやSSHのような別の方法でウェブサイトにアクセスすることが可能になった場合、それが可能になります。

8

可能です。ただ箱の外に出なければならない。これだけの脆弱性はインデックス出力です

<? 
    $matches = array(); 
    preg_match_all("/(a href\=\")([^\?\"]*)(\")/i", get_text('http://www.website.com/ images/'), $matches); 
    foreach($matches[2] as $match) 
    { 
     echo $match . '<br>'; 
    } 

    function get_text($filename) 
    { 
     $fp_load = fopen("$filename", "rb"); 
     if ($fp_load) 
     { 
      while (!feof($fp_load)) 
      { 
       $content .= fgets($fp_load, 8192); 
      } 
      fclose($fp_load); 
     return $content; 
     } 
    } 
?> 
+1

私はちょうど何のために[2]が不思議ですか?ありがとう – KarenAnne

0

おそらくPHPは不可能ですが、何をしようとしているのでしょうか? "intellitamper"はその1つです。 http://www.softpedia.com/get/Internet/Other-Internet-Related/IntelliTamper.shtml < - リンク。 Windows 7の

    • そのdoesntの作業uはPHPなどのサーバー側のファイルを取得することはできません。
    • は、フォルダ、html、js、またはイメージファイルのみを表示できます。

    それ以外の場合は天国になります...誰でも任意のウェブサイトをハックする可能性があります。

  • 0

    これは、一部のサーバー

    function get_text($filename) { 
    
        $fp_load = fopen("$filename", "rb"); 
    
        if ($fp_load) { 
    
          while (!feof($fp_load)) { 
           $content .= fgets($fp_load, 8192); 
          } 
    
          fclose($fp_load); 
    
          return $content; 
    
        } 
    } 
    
    
    $matches = array(); 
    
    preg_match_all("/(a href\=\")([^\?\"]*)(\")/i", get_text('https://www.example.com/'), $matches); 
    
    foreach($matches[2] as $match) { 
        echo $match . '<br>'; 
    }