mod_rewrite и перенаправление при прямой ссылке
1.
Zдешний (22.12.2012 / 20:37)
добрый всем вечер. в mod_rewrite полный ноль
поэтому прошу решения такого вот вопроса: как установить перенаправление через mod_rewrite при переходе по прямой ссылке на скачивание файла. т.е. мне нужно отдавать файл только через скрипт и пресекать все попытки скачать файл по прямой ссылке. или выдавать ошибку при такой попытке, или перенаправлять на скрипт. есть ли готовые решения подобного рода или всё же придётся копать поглубже?
2.
Zдешний (22.12.2012 / 22:14)
и как я понял, если отдавать файл через readfile, то это сильно нагрузит сервер?
3.
Иван (22.12.2012 / 22:27)
напиши в .htaccess
<Files *>
order allow,deny
deny from all
</Files>
и закинь в папку с файлами
мод реврайт тут не нужен
4.
Zдешний (22.12.2012 / 22:55)
3.
steel97, запрет на скачивание всех файлов? ну как то так
5.
Иван (22.12.2012 / 23:04)
выдачу файла я делал так:
$file_path = "data/files/$file_id/$_fnamex";
$path_parts = pathinfo($file_path);
$file_name = $path_parts['basename'];
$file = @fopen($file_path,"rb");
header("Cache-Control: public");
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: Downloading file from".site);
header("Content-Type: ".$core->read("data/files/$file_id/type.std"));
header("Content-Disposition: attachment; filename=\"{$file_name}\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($file_path));
while(!feof($file))
{
echo fread($file, 500*1024);
//echo readfile($file);
flush();
if (connection_status()!=0)
{
@fclose($file);
die();
}
}
@fclose($file);
тока не забудь все лишнее повыкидывать из этого куска кода
6.
Zдешний (22.12.2012 / 23:05)
нашёл по разрешениям
Options -Indexes
RewriteEngine on
RewriteCond % !^$
RewriteCond %{HTTP_REFERER} !^http://promo\.somesite\.com(/)?.*$ [NC]
RewriteRule \.(gif|jpg|jpeg|png|swf)$ - [NC,F]
всем спс
Добавлено через 01:18 сек.
5.
steel97, пишут на просторах, что так грузит сервер сильно
URL:
https://visavi.net/topics/35895