Задался целью запретить скачить файлы, если переход по прямой ссылке был осуществлен не из под домена моего сайта.
Например:
Есть файл http://site.ru/files/123.rar
Мне нужно чтобы могли качать только с сайта http://site.ru при нажатии на ссылку.
Подскажите в каком направлении двигаться, или уже готовые решения.
P.S. шарил гугл, но видимо не смог правильно сформулировать запросик.
Спустя 33 минуты, 45 секунд (14.07.2010 - 23:43) FatCat написал(а):
if(stristr($_SERVER['HTTP_REFERER'],"my_site.ru"))
{
// Даем скачать.
}
else
{
// Ругемся нехорошими словами.
}
Спустя 53 минуты, 44 секунды (15.07.2010 - 00:37) CaguCT написал(а):
Ну я примерно так и демал, только вот кудым тульить этот код?
Спустя 2 часа, 31 минута, 45 секунд (15.07.2010 - 03:09) Wird_34 написал(а):
Нужно, чтобы файл выдавался скриптом, т. е. ссылка на файл должна быть не прямой, а на скрипт, который будет проверять откуда перешли по ссылке и если с твоего сайта, то выдать файл:
Но данный метод дает нагрузку на сервер. К сожалению не знаю какую именно.
Или перенаправить на файл напрямую:
Только в данном случае, легко определить эту прямую ссылку, т. ч. по сути метод бесполезный.
hfile = fopen('file', 'r');
while ( !feof(hfile) ) {
echo fread(hfile, 1024);
}
fclose(hfile);
Но данный метод дает нагрузку на сервер. К сожалению не знаю какую именно.
Или перенаправить на файл напрямую:
header("Location: <прямая ссылка на файл>");
Только в данном случае, легко определить эту прямую ссылку, т. ч. по сути метод бесполезный.
Спустя 9 часов, 43 минуты, 43 секунды (15.07.2010 - 12:52) linker написал(а):
Да защита такая вообще бесполезна HTTP_REFERER элементарно подделывается не напрягаясь.