Реклама на сайте Advertise with us

Htaccess-мать его

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 06.06.05
Сообщения: 604
Рейтинг: 306

Ссылка на сообщениеДобавлено: 18/02/07 в 17:22       Ответить с цитатойцитата 

Народ, подскажите что я делаю не так.
Хочу закрыть содержимое папки от скачивания всякими качалками.

Решил заюзать htaccess следующего содержания:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]
RewriteCond %{HTTP_USER_AGENT} ^Download Demon [OR]
RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^Express WebPictures [OR]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]
RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]
RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]
RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]
RewriteCond %{HTTP_USER_AGENT} ^Image Stripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^Image Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]
RewriteCond %{HTTP_USER_AGENT} ^Internet Ninja [OR]
RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]
RewriteCond %{HTTP_USER_AGENT} ^JOC Web Spider [OR]
RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mass Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} ^MIDown tool [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mister PiX [OR]
RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]
RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Net Vampire [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline Explorer [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline Navigator [OR]
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^Papa Foto [OR]
RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^download manager [OR]
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]
RewriteCond %{HTTP_USER_AGENT} ^Teleport Pro [OR]
RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web Image Collector [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebGo IS [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website eXtractor [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website Quester [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Wget [OR]
RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule .* - [F]

Но после заливки файла с таким содержанием - урл не открываеться не только качалками но и через броузер. Выдаёт 500 ошибку.

В логах увидел следующую причину:
.htaccess: RewriteCond: bad flag delimiters

Что в файле не так? Я не спец в этом, поэтому самому сложно разобраться.

0
 



С нами с 01.11.06
Сообщения: 316
Рейтинг: 293

Ссылка на сообщениеДобавлено: 18/02/07 в 17:43       Ответить с цитатойцитата 

Даже, если и доведёшь до ума такую конструкцию, то mod_rewrite обычно грузит сервер при нормальном трафе. Юзай вот такое:
SetEnvif user-agent Wget baduser
SetEnvif user-agent ... baduser
SetEnvif user-agent ... baduser
Order Allow,Deny
Allow from all
Deny from env=baduser

Должно помочь.

1
 



С нами с 06.06.05
Сообщения: 604
Рейтинг: 306

Ссылка на сообщениеДобавлено: 18/02/07 в 20:31       Ответить с цитатойцитата 

zteam писал:
SetEnvif user-agent Wget baduser
SetEnvif user-agent ... baduser
SetEnvif user-agent ... baduser


Я не спец в хтаксесе, но разве так его правила записываются?

Или это так нужно php записывать?

Сорри за тупость, но я с этим раньше не сталкивался.

0
 



С нами с 01.11.06
Сообщения: 316
Рейтинг: 293

Ссылка на сообщениеДобавлено: 19/02/07 в 02:05       Ответить с цитатойцитата 

Да, так они записываются. В своём первом варианте ты юзаешь mod_rewrite в апаче, а в данном примере - mod_setenvif. Только в:
SetEnvif user-agent Wget baduser
SetEnvif user-agent ... baduser
SetEnvif user-agent ... baduser
замени "..." на все качалки, что у тебя в Rewrite'ах стоят.

4
 



С нами с 06.06.05
Сообщения: 604
Рейтинг: 306

Ссылка на сообщениеДобавлено: 19/02/07 в 02:36       Ответить с цитатойцитата 

2 zteam:
Спасибо за ответы.

И ещё пара вопросов. А в начале нужно что-то писать типа:
RewriteEngine On
только для mod_setenvif?

и нужно ли использовать по принцыпу приведённого мной примера разделители
%{} ^[OR]
в твоём варианте?

0
 



С нами с 01.11.06
Сообщения: 316
Рейтинг: 293

Ссылка на сообщениеДобавлено: 19/02/07 в 03:07       Ответить с цитатойцитата 

Нет, тебе ничего в .htaccess не нужно писать ничего из того, что привёл ты.
Пишешь мой пример, заменяя "..." на имена качалок:
SetEnvif user-agent Wget baduser
SetEnvif user-agent ... baduser
SetEnvif user-agent ... baduser
Order Allow,Deny
Allow from all
Deny from env=baduser

Основная идея в том, что качалки будут резаться по рефереру, он у них выглядит, как их название, т.е. "Wget/...", "Reget/..." и т.д..

4
 



С нами с 06.06.05
Сообщения: 604
Рейтинг: 306

Ссылка на сообщениеДобавлено: 21/02/07 в 19:19       Ответить с цитатойцитата 



2 zteam:
Попробовал твою конструкцию.
Всеравно моя качалка взяла файл. Как оказалось она рефер свой не передаёт а косит под Mozilla 4.0 собственно как и все современные качалки.
Тогда я вот подумал, а как бы в твою конструкцию дописать чтобы перед отдачей файла проверялся рефер юзера.
Т.е. допустим ссылка на файл лежит на защищённой страничке и только пришедшему с этой странички - отдавался файл?

Нашёл нечто подобное:

SetEnvIf Referer ^http:\/\/www\.myhost\.ru from_my_site
<Directory /restricted>
order deny,allow
Deny from All
Allow from env=from_my_site
</Directory>

Только незнаю как его увязать с предыдущим куском. Ведь выше уже используються и SetEnvIf и Deny from All, Allow from env?

0
 



С нами с 06.06.05
Сообщения: 604
Рейтинг: 306

Ссылка на сообщениеДобавлено: 21/02/07 в 19:23       Ответить с цитатойцитата 

Кстати по ходу нарыл в поисковиках похожего рода топик на одной из борде.
Чел ставил задачу:
"Нужно ограничить доступ к одной из директорий сайта с чужих ссылок (и без рефереров вообще) средствами Апаче."

И вроде как хостер ему помог это реализовать с помощью:
Options +SymLinksIfOwnerMatch

Только вот жаль он не написал самого исходника, как это у него получилось.
Есть какие-нибудь идеи по этому поводу?

0
 



С нами с 21.09.03
Сообщения: 7329
Рейтинг: 2144

Ссылка на сообщениеДобавлено: 21/02/07 в 19:58       Ответить с цитатойцитата 

Не совсем понятно, зачем с юзер-агента съехали к рефереру... zteam написал все правильно. Должно работать. Я бы только заменил директиву SetEnvIf на SetEnvIfNoCase, и добавил бы якоречек к имени агента. Ну и не забываем ескепить пробелы, или ставить кавычки.

....
SetEnvIfNoCase User-Agent "^dowload manager" baduser
....
Deny from env=baduser

P.S. mod_rewrite в топку icon_smile.gif

3
 



С нами с 21.09.03
Сообщения: 7329
Рейтинг: 2144

Ссылка на сообщениеДобавлено: 21/02/07 в 20:00       Ответить с цитатойцитата 

Politryk писал:

И вроде как хостер ему помог это реализовать с помощью:
Options +SymLinksIfOwnerMatch


В огороде бузина... icon_smile.gif Это из другой оперы icon_smile.gif

3
 



С нами с 06.06.05
Сообщения: 604
Рейтинг: 306

Ссылка на сообщениеДобавлено: 21/02/07 в 23:15       Ответить с цитатойцитата 

lega_cobra писал:
Не совсем понятно, зачем с юзер-агента съехали к рефереру... zteam написал все правильно. Должно работать.


Дело всё в том, что мой например ReGet свой юзер-агент реальный не передаёт и в логах в строчке Get нет ни малейшего упоминания о нём.
Косит под браузер чётко.

0
 



С нами с 06.06.05
Сообщения: 604
Рейтинг: 306

Ссылка на сообщениеДобавлено: 21/02/07 в 23:35       Ответить с цитатойцитата 

lega_cobra писал:

....
SetEnvIfNoCase User-Agent "^dowload manager" baduser
....
Deny from env=baduser


Только что проверил и такую комбинацию. Не пашет. Т.е. качалки по прежнему делают своё дело.
Нужно наверное всётаки с рефером что-то замутить.

Или как последний способ - скрипты (подстановка левого урла или редиректы). Жаль в скриптах не силён.

Может кто из програмёров сможет сделать нечто работоспособное?

0
 



С нами с 21.09.03
Сообщения: 7329
Рейтинг: 2144

Ссылка на сообщениеДобавлено: 22/02/07 в 00:03       Ответить с цитатойцитата 

Politryk писал:
Дело всё в том, что мой например ReGet свой юзер-агент реальный не передаёт и в логах в строчке Get нет ни малейшего упоминания о нём.


Ну так ты пытаешься бороться с качалками, а качалки борются с тобой icon_smile.gif

Так-что надежного решения нет. Редиректами тоже не поможешь, ибо качалки очень хорошо по редиректам ходят.

1
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 22/02/07 в 00:21       Ответить с цитатойцитата 

а разве такие методы еще срабатывают ? Вроде все вменяемые качалки давно браузером прикидываются, ну разве раритет какой еще остался.

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

0
 

XXX-Server.biz

С нами с 15.02.03
Сообщения: 9411
Рейтинг: 6676


Передовик Master-X (16.01.2008)
Ссылка на сообщениеДобавлено: 22/02/07 в 00:28       Ответить с цитатойцитата 

большинство современных качалок и реферер тоже перехватывают icon_smile.gif

Хостинг от $0.05/Gb, VDS от 9$, Dedicated Servers от $49
Домены от 4.99$

0
 



С нами с 01.11.06
Сообщения: 316
Рейтинг: 293

Ссылка на сообщениеДобавлено: 22/02/07 в 04:00       Ответить с цитатойцитата 

Дык изначально было ясно, что это простейшая защита от качалки глупого юзера, который не знает, что такое User-Agent, Referef и т.п.
Я спотрю, что по ходу топика съехали к антихотлинку больше, чем к защите от качалок.

1
 



С нами с 01.11.06
Сообщения: 316
Рейтинг: 293

Ссылка на сообщениеДобавлено: 22/02/07 в 04:02       Ответить с цитатойцитата 

lega_cobra писал:

P.S. mod_rewrite в топку icon_smile.gif

Таки да...
Offtop: помнится по неопытности на серваке виртуального хостинга сделал антихотлинк на базе реврайта. Захожу потом на сервак - а идла 0 icon_smile.gif)

1
 



С нами с 06.06.05
Сообщения: 604
Рейтинг: 306

Ссылка на сообщениеДобавлено: 22/02/07 в 16:36       Ответить с цитатойцитата 

zteam писал:
Я спотрю, что по ходу топика съехали к антихотлинку больше, чем к защите от качалок.


Так всё же давайте вернёмся к теме топика.

Как же всё таки закрыть доступ качалкам?

Неужели никто незнает ни одного варианта.

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »