суббота, 14 апреля 2007 г.

.htaccess — боец невидимого фронта

.htaccess — боец невидимого фронта

"Наша служба и опасна и трудна,
И на первый взгляд, как будто, не нужна,
Не нужна она, как будто, на второй
И на третий тоже…"
(Ментовская песня)

Обыватель считает, что менты — вторые бандиты и без них лучше. Но он считает так лишь до той поры, пока не наедут на него настоящие бандиты, не побьют, не ограбят. Тогда бежит несчастный в милицию, ища защиты. А в нашем бизнесе? Проникнут к нам на сайт хотлинкеры, бэкдорщики и прочие пираты, накажут нас на трафик, сопрут пароль, завалят неплатежеспособным трафиком из стран третьего мира… Куда бежать, у кого искать защиты?! Есть, друзья, есть заступник у адалт-вебмастеров! Примчится он, как "ужас, летящий на крыльях ночи", разом отделит "агнцев от козлищ", стражем станет на защите сайта с огненным мечом в руках! И скромен он настолько, что даже точку ставит не после своего имени, а до, и пишется с маленькой буквы — файл .htaccess

Это простой текстовый файл, содержащий набор инструкций для Apache. Помещается он в одну из директорий вашего сайта; причем защищает он не только ту директорию, в которой расположен, но и все вложенные. С помощью Notepad’a впишем в этот файл следующее (на примере домена master-x.com):

AuthUserFile /dev/null
AuthGroupFile /dev/null
Rewrite Engine On
RewriteCond %{HTTP_REFERER} !^http://www.master-x.com/
RewriteCond %{HTTP_REFERER} !^http://master-x.com/
RewriteCond %{HTTP_REFERER} !^http://master-x.penisbot.com/
RewriteCond %{HTTP_REFERER} !>http://www.master-x.com:80 [NC]
RewriteCond %{HTTP_REFERER} !>http://master-x.com:80 [NC]
RewriteCond %{HTTP_REFERER} !>http://master-x.penisbot.com:80 [NC]
RewriteRule /* http://www.YourPornoSponsor.com/click.cgi?out=masterx [R,L]

Что это значит? В строчках 4-9 мы видим имя домена, написанное тремя способами, включая IP-номер. Если на сервер придет запрос на страницу не с указанных доменов, а из какого-то другого места (т.е. бэкдор), то сервер, вместо удовлетворения запроса, отправит серфера прямо на спонсора (или в какое-нибудь другое равноудаленное место), целевой адрес которого указан в строчке 10. Вместо спонсора можно поставить адрес варнинг-пейджа вашего сайта.

Если вы защищаете таким образом ваш АВС-сайт, то добавьте к строчкам 4-9 еще и строчку с доменом вашей АВС, чтобы посетителей беспрепятственно пропускало на сайт (на примере Lancelot’a):

RewriteCond %{HTTP_REFERER} !^http://www.validate.com/~lancelot/

Этим же мы защищаемся от букмарочников, которые ставят закладку прямо на галереи нашего АВС-сайта (и раздают ссылку друзьям или публикуют ее в сети). Невозможно будет и напрямую набрать в адресной строке броузера УРЛ какой-нибудь картинки с вашего сайта.

Однако, честно зашедшему посетителю может настолько понравиться ваш сайт, что он захочет выкачать его целиком для последующего офф-лайнового наслаждения. Предосудительный поступок — а на спонсора кто подписываться будет, Пушкин? Не позволим серферу такого!

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} ^DISCoPump.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^Drip.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber.* [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} ^Gets.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^Grafula.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^IBrowse.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^InterGET.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^InternetNinja.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^JetCar.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^JustView.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^MIDowntool.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^MisterPiX.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^NearSite.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetSpider.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^OfflineExplorer.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^PapaFoto.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^Pockey.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^ReGet.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^Slurp.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^SpaceBison.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^Teleport.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebAuto.* [OR]

RewriteCond %{HTTP_USER_AGENT} ^WebCopier.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebFetch.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebReaper.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebSauger.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebStripper.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebZIP.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebImageCollector.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebSucker.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^Webster.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^Wget.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^eCatch.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^ia_archiver.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^lftp.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut.*

RewriteRule .[Jj][Pp][Gg]*$ /Dont_grab_my_pics_facked_bastard.gif [L] RewriteCond %{HTTP_REFERER} ^http://.*adfilter.com.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://207.198.147.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://www.neocities.* [OR]
RewriteCond %{HTTP_REFERER} ^http://chat.passagen.s.* [OR]
RewriteCond %{HTTP_REFERER} ^http://volpi.sti.com.* [OR]
RewriteCond %{HTTP_REFERER} ^http://batepapo0.uol.com.* [OR]
RewriteCond %{HTTP_REFERER} ^http://batepapo1.uol.com.* [OR]
RewriteCond %{HTTP_REFERER} ^http://batepapo2.uol.com.* [OR]
RewriteCond %{HTTP_REFERER} ^http://batepapo3.uol.com.* [OR]
RewriteCond %{HTTP_REFERER} ^http://batepapo4.uol.com.* [OR]
RewriteCond %{HTTP_REFERER} ^http://batepapo6.uol.com.* [OR]
RewriteCond %{HTTP_REFERER} ^http://batepapo7.uol.com.* [OR]
RewriteCond %{HTTP_REFERER} ^http://209.2.137.* [OR]
RewriteCond %{HTTP_REFERER} ^http://207.126.121.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://.*bianca.com/.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://.*angelfire.com/.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://.*hotmail.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://.*yahoo.com.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://.*geocities.com.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://www.partyhouse.*$
RewriteRule .[Jj][Pp][Gg]*$ /Dont_grab_my_pics_facked_bastard.gif [L]

В первом блоке мы перечисляем все известные нам офф-лайн браузеры и сайтограбилки (не их коммерческие названия, а значения, которые они передают в параметре HTTP_USER_AGENT). На запросы этих программ сервер отправит не JPG-файл (его, в виде [Jj][Pp][Gg] мы проставляем в строке RewriteRule), а крохотный однопиксельный Dont_grab_my_pics_facked_bastard.gif.

Во втором блоке мы запрещаем серверу удовлетворять запросы с некоторых адресов, справедливо полагая, что, к примеру, с geocities.com ничего хорошего нам ожидать не приходится. Эти домены мы узнаем по логам нашего сервера и вносим в список.

Обратите ваше просвещенное внимание на то, что кроме доменов мы можем указывать и IP-адреса. Используя значок * мы можем блокировать целые подсети. Это полезно, когда мы хотим защититься от неплатежеспособного трафика из стран с тяжелым экономическим положением. Например, следующим образом мы покажем фигу Румынии, Корее, Украине и большей части России:

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "HoL — the World’s Best Fetish Site"
AuthType Basic

order allow,deny
allow from all
deny from 194.44.233.
deny from 194.87.117.
deny from 194.12.225.
deny from 193.254.61.
deny from 193.254.56.
deny from 210.117.67.
deny from 210.183.28.
deny from 211.49.24.
deny from 203.248.240.
deny from 164.124.101.
deny from 195.131.1.

Хотя… Если кому-нибудь из вас настолько жалко соотечественников, что вы готовы показывать им порнуху за собственные деньги… Ваше право, не ставьте такой фильтр и все.

Но уж обязательно поставьте следующий блок:

ErrorDocument 401 /error401_page.shtml
ErrorDocument 403 http://www.YourPornoDomen.com/error403_page.shtml
ErrorDocument 404 http://www.YourPornoDomen.com/error404_page.shtml
ErrorDocument 500 http://www.YourPornoDomen.com/error500_page.shtml

Теперь вместо дурацких стандартных сообщений типа "File Not Found" сервер будет показывать специальную страничку, набитую рекламой (или даже сразу редиректящую на спонсора). Нестандартная запись для ошибки 401 нужна для того, чтобы обойти ограничение в Apache версии 1.3.

Вдобавок, вам уже не надо втыкать onMouseower в каждый блинд-линк — просто делайте линк на несуществующий на вашем сервере файл и серфер будет автоматически получать спонсором по морде.

В заключение, пару слов о том, как аплоадить файл ।htaccess на ваш сервер. Дело это и простое и не простое одновременно. Сначала вы пишете сам файл в Notepad’e, сохраняете его как htaccess.txt и заливаете его по ФТП в нужную директорию и уж затем на сервере переименовываете его в .htaccess (точка перед именем файла, никаких расширений). Аплоад должен происходить только в ASCII-виде, иначе ничего работать не будет.



  • http://www.seonoobs.org/

1 комментарий:

X Master Blog комментирует...

привет!
будь добр прочти это - http://xmasterblog.blogspot.com/2007/07/blog-post_25.html
Спасибо!