Запрет перехода на сайт с конкретной страницы извне

Статус
В этой теме нельзя размещать новые ответы.

cherchan

Гуру форума
Регистрация
20 Май 2007
Сообщения
290
Реакции
62
Надеюсь, что вопрос задаю в тему:
подскажите, как запретить переход на свой сайт с конкретной страницы другого сайта (чтобы, скажем, выдавало 403 ошибку).
 
Содержимое этой таблицы поместите между <HEAD> и </HEAD>


<script>
<!--

//добавьте любые нежелательные сайты или страницы
var invalidreferrals=new Array()
invalidreferrals[0]="сволочной.вебмастер.com"
invalidreferrals[1]="гадкий.сайт.com"
invalidreferrals[2]="паршивая.htm"

var failed=0

for (r=0;r<invalidreferrals.length;r++){
if (document.referrer.indexOf(invalidreferrals[r])!=-1){
failed=1
break
}
}

if (failed>0){
alert("Доступ на страницу запрещен!")
history.go(-1)
}

//-->
</script>


Нашёл в сборнике скриптов, не проверял, но поидее работает.
 
ИМХО лучше для таких целей РНР, чтобы у посетителя не закралось сомнения что его перекинули кудато, т.к. РНР выполняется на стороне сервера и пользователю не виден

PHP:
<?php
$ip=getenv("Remote_addr"); /*Узнаем ип адресс юзера*/
$real_ip=getenv("HTTP_X_FORWARDED_FOR"); /*Запрашиваем реальный ип если стоит прокси сервер*/
$otkuda=getenv("HTTP_REFERER"); /*Откда пришел юзверь*/

$basaspam= array("www.плохой_сайт.ru","www.еще_сайт.ru");
$arrurl = parse_url($otkuda);

if (in_array($arrurl[host],$basaspam))
{
// Юзер пришел с нежелательного сайта - отлуп
}
else
{
// Добро пожаловать
}
?>
 
Код:
RewriteEngine on 
RewriteCond %{HTTP_REFERER} ^http://(www.)?badsite1\.com/.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www.)?badsite2\.com/.*$  [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www.)?badsite3\.com/.*$ 
RewriteRule .* – [F]

############
RewriteRule .* – [F] выдаст ошибку 403,
если надо отправить на страницу badsite.html, заменить на
RewriteRule /* Для просмотра ссылки Войди или Зарегистрируйся [R,L]
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху