Индексиране на директория, намираща се на чужд хост?

sizif

Registered
Здравейте!

Как мога да индексирам чрез скрипт съдържанието на директория, намираща се на чужд хост?
Дървото на директорията е "защитено" с индекс-файл, но файловете се зареждат свободно стига да знаеш имената им...

Някой писал ли е подобен скрипт?
Благодаря предварително!
 
аз написах нещо снощи е не цялото но тва дет върши работа
пишеш линк и ти вади сички файлове който завършват на
rar zip exe .....
но преди това индексира дали линка съществува
Код:
<form action="" method="GET">
<input type="text" name="url">
<input type="submit" value="asdasd">
</form>
<?
if($_GET['url'])
{
$dead="Нема текаф сайт";
$link = $_GET['url'];
$link=str_replace("http://", "", $link);
$link=str_replace("HTTP://", "", $link);
$churl = @fsockopen($link, 80, $errno, $errstr, 30);
             if (!$churl){
                echo $dead;
                }
             else {
function remove_html(&$item, $key)
{
   $item=trim(strip_tags($item));
}

function get_links($url) {
$preg =
"/a[\s]+[^>]*?href[\s]?=[\s\"\']+(.*?)[\"\']+.*?>"
."([^<]+|.*?)?<\/a>/";
    preg_match_all(trim($preg),
           file_get_contents($url), $out, PREG_PATTERN_ORDER);
    $keys = $out[1];
    $values = $out[2];
echo "<form action=\"\" method=\"POST\">";
echo "<textarea cols=50 rows=20 name=\"links\" />";
for($i=0;$i<(count($keys));$i++){
echo "".$keys[$i]."\n";
}
}
get_links("http://".$link."");
}
}
echo "</textarea><input type=\"submit\" name=\"submit2\" value=\"Вземи ги\" /></form>";

if($_POST['submit2'])
{
$link=$_POST['links'];
$link1=explode("http://", $link);
$i=0;

while ($i<count($link1))
	{ 
$fulllinks = $link1[$i];

$krai[$i]=explode("/" , $link1[$i]);
$files = end($krai[$i]); 

$razshirenie[$i]=explode("." , $files);
$tipfail = end($razshirenie[$i]); 

$i++;
	$tipfail=trim(strtolower($tipfail));
	if(($tipfail != "rar") && ($tipfail != "zip") && ($tipfail != "mp3") && ($tipfail != "iso") && ($tipfail != "jpg") && ($tipfail != "tr") && ($tipfail != "mov") && ($tipfail != "jpg") && ($tipfail != "wmv") && ($tipfail != "ace") && ($tipfail != "ico") && ($tipfail != "jpeg") && ($tipfail != "avi") && ($tipfail != "3gp") && ($tipfail != "mp4") && ($tipfail != "cue") && ($tipfail != "srt") && ($tipfail != "txt") && ($tipfail != "bin") && ($tipfail != "gif") && ($tipfail != "sub") && ($tipfail != "bmp") && ($tipfail != "mpg") && ($tipfail != "bat") && ($tipfail != "img") && ($tipfail != "wma") && ($tipfail != "ac3") && ($tipfail != "wav") && ($tipfail != "tar") && ($tipfail != "mpeg") && ($tipfail != "png") && ($tipfail != "com") && ($tipfail != "exe") && ($tipfail != "tiff"))
	{}
	else
	{
$pole[]=" $fulllinks";
	}
	}
	if(!(empty($pole)))
	{
	$polenca=implode(" ",$pole);
	
echo "<textarea rows=20 cols=20>$polenca</textarea>";
}
	}
?>
 
е не е трудно да си го копнеш да напишеш примерну
halflife.com
:D
или там какъвто изкаш изкарва com казаха ми че имало файлове който завършват на com
 
Не това, за което питах, но да си призная честно моята задачка беше по-специфична и я реших по друг начин и сега само за проба опитах скрипта ти...
Има нужда от едно трим() за гет-променливата, за да изчисти интервалите пред и зад низа, но иначе работи :)

Благодаря! Точка за времето, к си отделил! :)

Интересуваше ме обаче дали има начин да се индексират файлове и директории, към които няма връзки в индекса...

В тази връзка, как мога да си защитя директория, в кото имам графични файлове и да ги показвам само пред оторизирани потребители? За изпълними файлове зная какво да е съдържанието на хтачес-файла, но графичните не минават през скрипт преди да се подадат към браузъра, та да питам...
 
ето така ако искате му сложетен а $tipfail да се намалят символите с малки за да показва всички файлове от директорията
Код:
<center><form action="" method="GET">
<input type="hidden" name="page" value="addsearch" />
<input id="forma" type="text" name="url" value="<?php echo htmlspecialchars($_GET['url']) ?>" />
<input id="button" type="submit" value="Добави" />
</form>
</center>
<?php
}
if($_GET['url']))
{
$url=trim($_GET['url']);
$url = str_replace("http://", "", $url);
$text= @file_get_contents("http://".$url);
$preg =
"/a[\s]+[^>]*?href[\s]?=[\s\"\']+(.*?)[\"\']+.*?>"
."([^<]+|.*?)?<\/a>/";
    preg_match_all(trim($preg),$text, $out, PREG_PATTERN_ORDER);
  $keys = $out[1];
    $values = $out[2];
foreach ($keys as $keyss)
{
$tipfail=end(explode(".", $keyss));
$tipfail=trim($tipfail);
 if(($tipfail != "rar") && ($tipfail != "zip") && ($tipfail != "mp3") && ($tipfail != "iso") && ($tipfail != "jpg") && ($tipfail != "tr") && ($tipfail != "mov") && ($tipfail != "jpg") && ($tipfail != "wmv") && ($tipfail != "ace") && ($tipfail != "ico") && ($tipfail != "jpeg") && ($tipfail != "avi") && ($tipfail != "3gp") && ($tipfail != "mp4") && ($tipfail != "cue") && ($tipfail != "srt") && ($tipfail != "txt") && ($tipfail != "bin") && ($tipfail != "gif") && ($tipfail != "sub") && ($tipfail != "bmp") && ($tipfail != "mpg") && ($tipfail != "bat") && ($tipfail != "img") && ($tipfail != "wma") && ($tipfail != "ac3") && ($tipfail != "wav") && ($tipfail != "tar") && ($tipfail != "mpeg") && ($tipfail != "png") && ($tipfail != "com") && ($tipfail != "exe") && ($tipfail != "tiff") && ($tipfail != "pdf") && ($tipfail != "sql") && ($tipfail != "html") && ($tipfail != "JPG") && ($tipfail != "doc") && ($tipfail != "htm") && ($tipfail != "xls"))
 {
 }else{
$fdsfsd2.= trim($keyss)."\n";
}
}
}
echo "<textarea>$fdsfsd2</textarea>";
?>
 
неможеш да индексираш файлове от папка на чужда машина..смисъл такъв, че ако им знаеш имената няма проблем да си ги напишеш ръчно което няма нищо общо с индексирането ..
другото е да са с някакви примерно цифрички lq01.jpg , lq02.jpg .. и тн .. там се сещаш как ще стане.
Но след като е скрита папката с индекс ти реално не можеш да видиш какво има там (дори и да няма нищо освен индекса).

За защита за да мине през пхп картинката преди да е пратена на браузъра може да пробваш нещо с addhandler и action в htaccess-a. Другото е да си напишеш проста логин системка и при логин да индекрираш файловете и папките като линкове примерно.
Още 1 вариант е с htpasswd което също е удачно.
 
bafitu каза:
неможеш да индексираш файлове от папка на чужда машина..смисъл такъв, че ако им знаеш имената няма проблем да си ги напишеш ръчно което няма нищо общо с индексирането ..
другото е да са с някакви примерно цифрички lq01.jpg , lq02.jpg .. и тн .. там се сещаш как ще стане.
Но след като е скрита папката с индекс ти реално не можеш да видиш какво има там (дори и да няма нищо освен индекса).

За защита за да мине през пхп картинката преди да е пратена на браузъра може да пробваш нещо с addhandler и action в htaccess-a. Другото е да си напишеш проста логин системка и при логин да индекрираш файловете и папките като линкове примерно.
Още 1 вариант е с htpasswd което също е удачно.

Освен чрез htpasswd не се сещам за друг вариант как да се забрани достъп до файл. А предполагам, че на сизиф му трябва ауторизация чрез php.... :)
 

Back
Горе