The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как определить внешние ссылки на закачку?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [ Отслеживать ]

"Как определить внешние ссылки на закачку?"  
Сообщение от vlaimir (ok) on 12-Мрт-08, 18:57 
На сайте в папке /books/ и подпапках лежат архивы .rar и .zip
С других сайтов делают прямые ссылки на них и качают напрямую.

Как сделать так, чтобы только с сайта качалось по прямым ссылкам, а при закачке по внешним ссылкам запускался скрипт?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как определить внешние ссылки на закачку?"  
Сообщение от WiseFire email on 12-Мрт-08, 23:13 
>На сайте в папке /books/ и подпапках лежат архивы .rar и .zip
>
>С других сайтов делают прямые ссылки на них и качают напрямую.
>
>Как сделать так, чтобы только с сайта качалось по прямым ссылкам, а
>при закачке по внешним ссылкам запускался скрипт?

Такой вариант я использовал:
Скрипт который просто выдает файл в вывод, ставится в корневую директорию и в нем вбивается путь к папке.
Теперь если нужен файл просто передаем скрипту имя или путь уже внутри папки /books/
Если кто-то захочет извне добратся до них то он во-первых не будет знать имя папки и во-вторых в апаче можно запретить извне получать доступ.
Остается только через скрипт, но скрипт может проверить поле реферер и если не свой сайт то выдать ошибку (либо тот скрипт что Вам нужен). Злоумышленку останется только подделывать поле реферер, а вот от этого как засчитится я не знаю и подделать это сможет любой программист. Зато засчита будет работать от простого пользователя.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Как определить внешние ссылки на закачку?"  
Сообщение от WiseFire email on 12-Мрт-08, 23:23 
Лови сам скрипт:
<?
$adress='books/'.$_GET['file'];
if(substr($_SERVER["HTTP_REFERER"],7,strlen($_SERVER["SERVER_NAME"]))==$_SERVER["SERVER_NAME"]){
  readfile($adress);
}else{
  echo 'ACCESS DENIED!!!';
}
?>
Обращаемся к ниму так если он script.php, а нужно получить /books/secret.rar:
script.php?file=secret.rar
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Как определить внешние ссылки на закачку?"  
Сообщение от vlaimir (ok) on 12-Мрт-08, 23:31 
Спасибо. Я сделал проще, как описано тут http://htaccess.net.ru/doc/mod_rewrite/guard_rar_jpg.php

Только изменил действия при скачке с других сайтов. Теперь, если качают по ссылкам с других сайтов - то перебрасывает на страницу, где нужно выбрать откуда качать.

В результате человек, качающий архив, попадает на страницу моего сайта, а не просто скачивает архив.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Как определить внешние ссылки на закачку?"  
Сообщение от angra (ok) on 15-Мрт-08, 22:21 
А что у тебя произойдет, если обратимся так:
script.php?file=../../../../../../../../etc/passwd
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру