Въпрос за блокиране с htaccess

mvmrik

Well-Known Member
Мога ли с htaccess да блокирам даден домейн да няма достъп до файловете в сайта ми - например ако се опита да се отвори от него news.php да не му го разреши?
 
Код:
order allow,deny
deny from 1.2.3.4
allow from all
Където 1.2.3.4 е IP адреса на сървъра където е проблемния сайт. Аз така блокирам нежелани потребители, не съм сигурен дали ще работи като хората за скрапери :)
 
От: Въпрос за блокиране с htaccess

За скрапери според мен няма как да работи, защото повечето ползват проксита и трудно ще нацелиш...
 
От: Въпрос за блокиране с htaccess

Може да сложиш ей това в началото на news.php:
Код:
if ( $REQUEST_URL == $URL_OF_CURRENT_PAGE ) die ("Direct access not premitted");
Където $URL_OF_CURRENT_PAGE е урл-то на news.php

Всъщност предполагам, че news.php се include-ва нали?

Ако реално имаш страница domain.com/news.php
Най добрия вариант е да се направи един скрипт който да прави следното:
1. Слага една картинка 1х1 пиксела която да сочи към картинка.пхп
2. Задава се някакъв таймаут между зареждането на хтмл-а и евентуалния рекуест към картинка.пхп
3. Ако след таймаут-а все още не е поскана картинка.пхп, значи е бот - добавяме у хтацес-а ип-то
 
От: Въпрос за блокиране с htaccess

Значи първо - трябва ми за домейн, не за IP, защото на едно IP може да има няколко сайта и не искам да ги блокирам всичките. Освен това не мога да добавям нищо във файла, понеже той се показва във фрейм и няма да разбере url-то на страницата. За това се чудех не може ли някак си да забраня директно целия си сайт.
 
От: Въпрос за блокиране с htaccess

ползвал съм нещо подобно, но за снимки,
предполагам че може да работи и с др. файлове
Код:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
 
От: Въпрос за блокиране с htaccess

Пробвах някакви такива и нищо не става.
 
От: Въпрос за блокиране с htaccess

Това с реферер-а няма да сработи. Идеята му е картинката да се отвори след като е посетен сайта. Но тук може да има посещения идващи с реферер - гоогле.

Щом като е във фрейм може да направиш следното:
Браузъра трябва първо да изтегли хтмл-а на страницата и едва след това да изтегли сорса от news.php. Можеш да сложиш примерно <frame src="news.php?key={current unix date}" />
След това в началото на news.php да сравниш key с текущата дата на сървъра. Ако имат отклонение повече от 2 секунди примерно, значи страницата най вероятно не е заредена от фреймсет-а и може да върнеш някаква грешка.
По домейн няма как да филтрираш. Тази дата може да я кодираш по някакъв странен начин, за да не те разберат какво точно правиш с нея. Примерно да разместиш позициите на цифрите (5,2,7,3,1,6,4)
 
От: Въпрос за блокиране с htaccess

Не става, целта ми беше не само тая news.php, а да забраня достъпа до целия ми сайт от дадения домейн и да не може нито един файл да се отвори от него. Какво ли не пробвах и нищо не става.
 
От: Въпрос за блокиране с htaccess

RewriteCond %{HTTP_REFERER} (imenasite\.com) [NC]
RewriteRule .* - [F,L]

Само че, ако направи драг и дроп на линка, пак ще отвори сайта ти, защото няма да има рифърър.
 
От: Въпрос за блокиране с htaccess

Стана без грешка, аз не съм си бил активирал htaccess от apache и пробвах какво ли не, активирах го и вече работи :)
 
От: Въпрос за блокиране с htaccess

Добре де, как го тестваш че работи?
Аз доколкото разбрах сайт Х с домейн домейнХ.ком ти рови из сайта. Това освен с блок по ИП или някои от техниките които ти описах едва ли ще работи, щото ботовете ползват http_get и по никакъв начин не можеш да разбереш какъв е домейна. Аз може 10 домейна да съм паркирал към едно и също ИП.
 
От: Въпрос за блокиране с htaccess

Ето с това си генерирах кода и работи екстра - http://www.htaccesstools.com/block-hitbots/. Не са ми ботове целта и не знам за тях дали работи. На мен ми трябваше, като пусне даден сайт фрейм от моя да го блокира и работи идеално, тествах го с няколко сайта.

Пробвах го и на поддомейн и го блокира само него, а не основния сайт.
 
От: Въпрос за блокиране с htaccess

Аз си мислех че в твоя сайт е във фрейм. Да това с реферера ще работи тогава.
 

Горе