Если я создал сайт на Народе и загрузил файлы (rar. zip и т.д.), то при обращении к этим файлам со страниц моего сайта, сразу выскакивает окно загрузки файла.
Но если обратиться к файлу, например, мой_сайт.narod.ru/file.rar откуда-нибудь с другого источника, то окно загрузки не откроется, а произойдёт редирект на Народ.ру 100, откуда можно будет скачать файл.
Подскажите, пожалуйста, как можно что-нибудь аналогичное замутить на своём сайте на php? Где можно скачать скрипт?
1. Vladimir - 29 Сентября, 2008 - 10:24:09 - перейти к сообщению
2. Systemnik - 29 Сентября, 2008 - 10:56:00 - перейти к сообщению
Ну тут нужно проверять $_SERVER['HTTP_REFERER']
Помимо нужно еще и сделать так чтобы при скачке файла,
скачка интерпретировалась скриптом...
Это можно замутить mod_rewrite'om.
.htaccess
script.php
ЗЫ Что-то мне интуиция подсказывает, что можно и без пхп замутить,
тоесть, сделать так, чтобы наскрипт направляло только если:
$_SERVER['HTTP_REFERER'] != $_SERVER['HTTP_HOST']
ХМ, пошел читать офф. доки по mod_rewrite
Завтра может, что-нибудь и подскажу...
Помимо нужно еще и сделать так чтобы при скачке файла,
скачка интерпретировалась скриптом...
Это можно замутить mod_rewrite'om.
.htaccess
CODE:
<IfModule mod_rewrite.c>
RewriteEngine On
# Правило реврайта :)
# Правда работать будет только для файлов,
# у которых имя - текст.
# А если содержит цифры нет :)
# Тут нужно регэкспы чуть поправить, а я их тока учу. =)
RewriteRule ^([a-zA-Z]+)\.([a-zA-Z]+)$ script.php?file=$1.$2 [L,QSA]
</IfModule>
RewriteEngine On
# Правило реврайта :)
# Правда работать будет только для файлов,
# у которых имя - текст.
# А если содержит цифры нет :)
# Тут нужно регэкспы чуть поправить, а я их тока учу. =)
RewriteRule ^([a-zA-Z]+)\.([a-zA-Z]+)$ script.php?file=$1.$2 [L,QSA]
</IfModule>
script.php
CODE:
<?php
if ($_SERVER['HTTP_REFERER'] != $_SERVER['HTTP_HOST'])
{
echo 'Извини чувак! Не могу.. в коде так написано...';
exit;
} else {
//тут одтаем файл... ::wink24.gif::
}
?>
if ($_SERVER['HTTP_REFERER'] != $_SERVER['HTTP_HOST'])
{
echo 'Извини чувак! Не могу.. в коде так написано...';
exit;
} else {
//тут одтаем файл... ::wink24.gif::
}
?>
ЗЫ Что-то мне интуиция подсказывает, что можно и без пхп замутить,
тоесть, сделать так, чтобы наскрипт направляло только если:
$_SERVER['HTTP_REFERER'] != $_SERVER['HTTP_HOST']
ХМ, пошел читать офф. доки по mod_rewrite
Завтра может, что-нибудь и подскажу...
3. Systemnik - 29 Сентября, 2008 - 11:07:50 - перейти к сообщению
АА! Вот, гугл рулиииит!!!
Нашел доки, почитал.
Забудь все что я написал в предудушем посте, все проще.
Вот:
.htaccess
Все.. должно работать)))
Нашел доки, почитал.
Забудь все что я написал в предудушем посте, все проще.
Вот:
.htaccess
CODE:
<IfModule mod_rewrite.c>
RewriteEngine On
# Правило реврайта :)
# Правда работать будет только для файлов,
# у которых имя - текст.
# А если содержит цифры нет :)
# Тут нужно регэкспы чуть поправить, а я их тока учу. =)
RewriteCond %{HTTP_REFERER} ^test.ru
# Где test.ru введите домен вашего сайта
RewriteRule ^([a-zA-Z]+)\.([a-zA-Z]+)$ script.php?file=$1.$2 [L,QSA]
</IfModule>
RewriteEngine On
# Правило реврайта :)
# Правда работать будет только для файлов,
# у которых имя - текст.
# А если содержит цифры нет :)
# Тут нужно регэкспы чуть поправить, а я их тока учу. =)
RewriteCond %{HTTP_REFERER} ^test.ru
# Где test.ru введите домен вашего сайта
RewriteRule ^([a-zA-Z]+)\.([a-zA-Z]+)$ script.php?file=$1.$2 [L,QSA]
</IfModule>
Все.. должно работать)))