|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Apache HTTP Server: Настройка .htaccess |
|
|
Apache HTTP Server: Настройка .htaccess
|
Дизайнер Сообщения: 410 |
Профиль | Отправить PM | Цитировать Возможно ли с помощью .htaccess запретить загрузку графики на других хостах(т.е. как на народ.ру)?
Если это делается не через .htaccess, то как? |
|
Отправлено: 17:47, 12-10-2003 |
Старожил Сообщения: 335
|
Профиль | Сайт | Отправить PM | Цитировать Agent Comanche
С других хостов? Ты это имеешь в виду? |
------- Отправлено: 03:08, 13-10-2003 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Дизайнер Сообщения: 410
|
Профиль | Отправить PM | Цитировать Т.е. у меня например на серве лежит картинка http://site.com/image.jpg
Если я на осзоне прописываю [ img ] http://site.com/image.jpg [ /img ], то здесь картинки не должно быть видно. И нужно сделать один каталог, чтобы с него можно было грузить картинки. Вот что я имел ввиду. |
Отправлено: 10:25, 13-10-2003 | #3 |
Старожил Сообщения: 335
|
Профиль | Сайт | Отправить PM | Цитировать Если ты хочешь запретить загрузку картинок с твоего сайта по ссылке, можно отслеживать HTTP_REFERER и запрещать загрузку для вызовов с другого сервера.
|
------- Отправлено: 02:26, 14-10-2003 | #4 |
Дизайнер Сообщения: 410
|
Профиль | Отправить PM | Цитировать Посмотрел насчет HTTP_REFERER, нашел доку. (ничего не понял )
И вот чего нашел: RewriteEngine on RewriteCond %{HTTP_REFERER} ^$ [OR] RewriteCond %{HTTP_REFERER} !^.*sitename\.ru.*$ [NC, OR] RewriteCond %{HTTP_HOST} !^.*sitename\.ru.*$ [NC] RewriteRule .*\.(gif|jpg)$ - [F] И как я понимаю, это будет для всего сайта в целом. А как сделать, чтобы с директории, например http://site.com/temp/ можно было загружать картинки с других серверов? Т.е. со всех нельзя, кроме temp. |
|
Отправлено: 10:21, 14-10-2003 | #5 |
Старожил Сообщения: 335
|
Профиль | Сайт | Отправить PM | Цитировать Agent Comanche
Здесь можно воспользоваться перловым скриптом: my $picdir="/usr/local/apache/pics"; my $ref=$ENV{'HTTP_REFERER'}; my $myhost= quotemeta($ENV{'HTTP_HOST'}||$ENV{'SERVER_NAME'}); * * * *if ($ref and $ref !~m|^http://$myhost/|) * * * *{ * * * * * * * *display_image("copyright.gif"); * * * *} * * * * else * * * * { * * * * * * * *my ($image_file)=$ENV{'PATH_INFO'}=~/^([\w+.]+)$/; * * * * * * * *display_image($image_file); * * * * } sub display_image { * * * * my $file=shift; * * * * my $full_path="$picdir/$file"; * * * * open IMG, $full_path; * * * * print "Pragma: no-cache\n"; * * * * print *"Content-type: image/gif\n\n"; * * * * binmode; * * * * my $buffer=""; * * * * while (read(IMG, $buffer, 16_384)) * * * * { * * * * * * * * *print $buffer; * * * * *} * * * * * * * * *close IMG; } sub not_found { * * * * *print <<END_OF_ERROR; * * * * *Status: 404 Not Found * * * * *Content-type: text/html * * * * *<HTML> * * * * *<HEAD> * * * * *<TITLE>Файл не найден</TITLE> * * * * *</HEAD> * * * * *<BODY> * * * * * ... * * * * *</BODY> * * * * *</HTML> * * * * *END_OF ERROR * * * * *exit; } Может я тут чего напутал, поэтому про непонятные места спрашивай подробнее, постараюсь помочь. |
------- Отправлено: 03:02, 15-10-2003 | #6 |
Дизайнер Сообщения: 410
|
Профиль | Отправить PM | Цитировать Спасибо, Sean Ingumsky
Но чесное слово, понятия не имею, что делать с этим скриптом. И настараживает это строка(для каждой картинки?): Задачу нужно решить наиболее оптимальным способом и меньшим количеством кода. Сегодня затестю тот код для .htaccess, по идее это он. Вопрос теперь в другом, как разрешить загрузку картинок из директории temp для запросов с других серверов? |
Отправлено: 10:48, 15-10-2003 | #7 |
Дизайнер Сообщения: 410
|
Профиль | Отправить PM | Цитировать Ситуация такая.
Прописал вот это: RewriteEngine on RewriteCond %{HTTP_REFERER} ^$ [OR] RewriteCond %{HTTP_REFERER} !^.*site\.region\.ua.*$ [NC, OR] RewriteCond %{HTTP_HOST} !^.*site\.region\.ua.*$ [NC] RewriteRule .*\.(gif|jpg)$ - [F] Цитата:
|
|
Отправлено: 00:37, 16-10-2003 | #8 |
Старожил Сообщения: 335
|
Профиль | Сайт | Отправить PM | Цитировать Agent Comanche
Кода не так много - два маленьких оператора логического ветвления и две фунуции вывода. А что тут непонятного? Если $ref (переменная окружения с адресом страницы, откуда пришёл запрос) существует, и $ref не является твоим разрешённым хостом, тогда запускается функция disply_image с атрибутом copyright.gif, т.е. отсылается картинка с твоим копирайтом. :-)) |
------- Отправлено: 01:20, 16-10-2003 | #9 |
Guest |
Дык, все просто. А Вы столько всего нагарадили
<Files "\.(inc|sql|...другие расширения...)$"> order allow,deny deny from all </Files> Спасибо можете не говорить С наилучшими пожеланиями, Клименко Данил aka Switch *ICQ: 176299915 *Emails: [ switch@mail.zp.ua ] & [ admin@switch.pp.ru ] *Web [ http://www.switch.pp.ru ] Добавлено: Сорри, комменты : Надо это в .htaccess засунуть, а сам файл в директорию, из которой нельзя картинки грузить кинуть. Из других директорий файлы грузиться будут, а из этой - нет. Жаль времени не было... не помню, какой код ошибки выдает С наилучшими пожеланиями, Клименко Данил aka Switch *ICQ: 176299915 *Emails: [ switch@mail.zp.ua ] & [ admin@switch.pp.ru ] *Web [ http://www.switch.pp.ru ] .HTACCESS - |
Отправлено: 19:35, 16-10-2003 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VPN через HTTP server... | minion | Сетевые технологии | 7 | 22-04-2007 23:19 | |
[htaccess] redirect https to http | strejiok | Вебмастеру | 9 | 25-11-2006 13:50 | |
apache htaccess rewrite задержка на исполнение | Вебмастеру | 1 | 20-11-2005 21:03 | ||
Apache HTTP Server 2.0.45 - 2.0.47 для Win (all) | TimStich | Хочу все знать | 6 | 10-09-2003 04:45 | |
Настройка apache | kuzya | Сетевые технологии | 1 | 12-05-2003 09:34 |
|