Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Скрипт антилича на Php (https://forum.antichat.xyz/showthread.php?t=57768)

SSB1981 07.01.2008 23:12

Скрипт антилича на Php
 
Здравствуйте!
Помогите пожалуйста написать скрипт, который бы позволял скачивать файлы, но скрывал бы реальный адрес файла!
Главное без MySQL!!!

NOmeR1 07.01.2008 23:18

PHP код:

<?
header
('Content-Type: application/x-rar-compressed;');
$file 'http://site.ru/archive.rar';
readfile($file);
?>

Ты это имеешь ввиду?

Piflit 07.01.2008 23:18

Цитата:

Сообщение от ssb1981
который бы позволял скачивать файлы, но скрывал бы реальный адрес файла!

перефразируй

SSB1981 07.01.2008 23:19

Ну да только как быть с заголовками, если файлы не только rar ?

NOmeR1 07.01.2008 23:23

Content-Type: application/x-octetstream

n3m0 07.01.2008 23:23

Код HTML:

http://www.somehost.com/files/fileid=12
нажимая на ссылку выше, начинается загрузка файла, который находится ,например здесь: http://www.somehost.com/uploads/file.rar
Т.е ты скрываеш путь к файлу

Этот случай?

SSB1981 07.01.2008 23:24

Пишу Download центр

SSB1981 07.01.2008 23:25

ДА!

n3m0 07.01.2008 23:33

No Direct Links!
Класс на ПХП, не использующий базы данных.
Ссылка для загрузки :
http://phpclasses.segmenta.ru/browse/package/1134.html

В архиве несколько примеров.
Для скачивания зарегистрируйся на том сайте

NOmeR1 07.01.2008 23:36

Можно просто сделать типо этого:
PHP код:

<? 
header
('Content-Type: application/x-octetstream');
$a = array( => 'http://site.ru/archive.rar'=> 'http://site.ru/archive2.rar' );
readfile($a[$_GET['file']]); 
?>

Тогда ссылка будет вида script.php?file=2. Скачка идёт от сервера, где находится этот скрипт, а не где расположен файл.

SSB1981 07.01.2008 23:44

Не работает!

SSB1981 07.01.2008 23:59

последний пример не работает! появляется окно закачки самого скрипта!!!!

NOmeR1 08.01.2008 00:03

Цитата:

Сообщение от ssb1981
последний пример не работает! появляется окно закачки самого скрипта!!!!

А ты как хотел? Незаметно?

SSB1981 08.01.2008 00:05

Нет качает не файл а исходник Php!!!

NOmeR1 08.01.2008 00:07

Цитата:

Сообщение от SSB1981
Нет качает не файл а исходник Php!!!

PHP код:

<?  
$a 
= array( => 'http://antichat.ru/index.php'=> 'http://forum.antichat.ru/index.php' ); 
$file $a[$_GET['file']];
header('Content-Disposition: attachment; filename="'.end(explode('/',$file)).'";'); 
readfile($file);  
?>

тогда так вроде))))

SSB1981 08.01.2008 00:13

Большое спасибо!!! Теперь всё работает!!!!!!!!!!!

SSB1981 08.01.2008 00:25

а можно ли чтобы на странице ещё и текст отображался?

NOmeR1 08.01.2008 00:37

PHP код:

<?   
if($_GET['download'] == 'true')
{
    
$a = array( => 'http://antichat.ru/index.php'=> 'http://forum.antichat.ru/index.php' );  
    
$file $a[$_GET['file']]; 
    
header('Content-Disposition: attachment; filename="'.end(explode('/',$file)).'";');  
    
readfile($file);   
}
else
{
    
header("Refresh: 0; URL=".$_SERVER['REQUEST_URI']."&download=true");
    echo(
'Сейчас начнётся скачка');
}
?>

Вот так проще всего. Доступ к файлу такой же. Но не будет срабатывать, когда не будет никакого запроса к файлу (т.е. если не будет ?file=...)

SSB1981 08.01.2008 00:41

как составить запрос на эту тему в поисковике?

SSB1981 08.01.2008 00:50

А какие ещё варианты есть?
Хотябы направление подскажите куда рыть!

SSB1981 08.01.2008 17:15

Кто-нибудь подскажите все возможные значения функции
PHP код:

header("Content..."

Я имею ввиду что можно вставить вместо "..."

NOmeR1 08.01.2008 17:21

Вообще вариантов масса. Посмотри здесь - http://en.wikipedia.org/wiki/MIME.

iddqd 08.01.2008 17:40

Попробуй вот это
http://qiq.ru/06/01/2008/programs/46961/antileech_public_v41.html

SSB1981 08.01.2008 22:09

Вот вроде нашёл. Тока не работает :confused: : выдаёт что файл не найден. Проверте кто может. Плз :
PHP код:

<?
// Настройки
var_dump($_GET);
$antiurl=""# адересс сайта: ssb1981.ru
$antidir=""# Папка с файлами

if (is_numeric($_GET["down"]))
{
/************НАЧАЛО ФАЙЛОВ***************************************************************************/

    // Здесь идут файлы для скачивания

if ($_GET["down"]==1)
{
 
$filename="test2.php";
}
elseif (
$_GET["down"]==2)
{
 
$filename="cursor.png";
}
elseif (
$_GET["down"]==3)
{
 
$filename="cursor.png";
}




/************КОНЕЦ ФАЙЛОВ***************************************************************************/

// Создается ссылка на файл

$path=$antidir.$filename;

// Проверка файла есть он или нет

if (file_exists($path)==0)
{
 echo 
"Файл ".$filename." не существует.";
 exit;
}

$ftime date("D, d M Y H:i:s T"filemtime($path));

}

// Проверка

if (strstr($_SERVER["HTTP_REFERER"], $antiurl))
{
 if (isset(
$_GET['down']) && isset($filename))
 {
  
$fsize filesize($path);
  
$ftime date("D, d M Y H:i:s T"filemtime($path));
  
$fd = @fopen($path"rb");
  if (!
$fd)
  {
   
header ("HTTP/1.0 403 Forbidden");
   exit;
  }


  if (
$HTTP_SERVER_VARS["HTTP_RANGE"])
  {
   
$range $HTTP_SERVER_VARS["HTTP_RANGE"];
   
$range str_replace("bytes="""$range);
   
$range str_replace("-"""$range);
   if (
$range)
   {
    
fseek($fd$range);
   }
  }
  
$content fread($fdfilesize($path));
  
fclose($fd);
  if (
$range)
  {
   
header("HTTP/1.1 206 Partial Content");
  }
  else
  {
   
header("HTTP/1.1 200 OK");
  }
  
header("Content-Disposition: attachment; filename=" basename($path));
  
header("Last-Modified: $ftime");
  
header("Accept-Ranges: bytes");
  
header("Content-Length: ".($fsize-$range));
  
header("Content-Range: bytes $range-".($fsize -1)."/".$fsize);
  
header("Content-type: application/octet-stream");
  print 
$content;
  exit;
 } else
   {
    echo 
"Недействительный файл.";
   }
}
?>


mister 13.01.2008 01:32

$antidir - папку обязательно с / в конце.

SSB1981 13.01.2008 12:43

Он, что у тебя работает?
У меня всё время пишет: файл бла-бла-бла не найден!


Время: 07:08