Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запретить заходить с другого сайта
 
 автор: Freddie_X   (20.09.2006 в 23:08)   письмо автору
 
 

Как можно создать запрет на вхождение с одного сайта на другой, к примеру пользователь на сайте site1.com щёлкает на кнопку, а на сайте site2.com проверяется, если вход был сделан с сайта site1.com, то выдавать текст, что доступ запрещён?

   
 
 автор: st.Ass   (20.09.2006 в 23:57)   письмо автору
 
   для: Freddie_X   (20.09.2006 в 23:08)
 

Если редактировать Вы можете оба сайта, то один из вариантов - на первом объявить константу (define("ACCESS",1)), а на втором сайте проверяете установлена ли эта константа (if(defined(ACCESS))) доступ запрещен.....

   
 
 автор: Freddie_X   (21.09.2006 в 00:01)   письмо автору
 
   для: st.Ass   (20.09.2006 в 23:57)
 

Ах да, забыл сказать, что site1.com редактировать я не могу.

   
 
 автор: Саня   (21.09.2006 в 00:17)   письмо автору
 
   для: Freddie_X   (20.09.2006 в 23:08)
 

Проверяете HTTP_REFERER и делайте сессии.

   
 
 автор: Freddie_X   (21.09.2006 в 00:30)   письмо автору
 
   для: Саня   (21.09.2006 в 00:17)
 

А можно поподробнее, я ни разу этим не пользовался.

   
 
 автор: indexer   (21.09.2006 в 01:30)   письмо автору
 
   для: Freddie_X   (21.09.2006 в 00:30)
 

Можно применить .htassess

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://my_host.ru/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://www.my_host.ru/.*$   [NC]
# можно прописать еще и IP hosta
RewriteRule .*\.(rar|zip|exe|chm|3gp|mp4)$ http://my_host.ru/error/link.php [R,NC]#отображается при прямой закачке


а это те файлы к которым доступ запрещен
rar zip exe chm 3gp mp4

ИХМО это более эффективно потому как ссылка дает рост цитирования и к файлам прямого доступа нет.
А в этой странице(error/link.php) пишем что вы пытаетесь скачать.... но это уже другая история

   
 
 автор: indexer   (21.09.2006 в 01:49)   письмо автору
 
   для: indexer   (21.09.2006 в 01:30)
 

Вариант с HTTP_REFERER

$access_host="http://www.ban_site.com";
if ($_SERVER[HTTP_REFERER]==$access_host)
  {
    Header("Location: http://www.google.com");//отфудболиваем на гуглу
  }


что то где то так.
Ноестественно $access_host должна быть массивом потому как сайт может быть.
http://www.ban_site.com
http://ban_site.com или вобще так
http://192.168.0.1


КОД ТРЕБУЕТ ПРОВЕРКИ писал по памяти.

   
 
 автор: tuder   (21.09.2006 в 06:37)   письмо автору
 
   для: indexer   (21.09.2006 в 01:49)
 

> Ноестественно $access_host должна быть массивом потому как сайт может быть.

Поэтому, в общем случае, надо не банить чужой сайт, а разрешать только свой.

Побороть все ссылки разом. :-)

   
 
 автор: Freddie_X   (21.09.2006 в 09:58)   письмо автору
 
   для: tuder   (21.09.2006 в 06:37)
 

да нет, мне нужно запретить заходить именно с этого сайта, а с остальных можно. Спасибо за REFERER, буду пробовать!
Добавлено: Я попробовал реферер, но никакого эффекта, для интереса попробовал вывести на экран эту переменную, но если я её использую, на экране ВООБЩЕ ничего не пишется! Что то странное. :(

   
 
 автор: Freddie_X   (21.09.2006 в 17:22)   письмо автору
 
   для: Freddie_X   (21.09.2006 в 09:58)
 

ну помогите!! очень нужно!

   
 
 автор: kasmanaft   (21.09.2006 в 17:29)   письмо автору
 
   для: Freddie_X   (21.09.2006 в 09:58)
 

// если я её использую, на экране ВООБЩЕ ничего не пишется!
В смысле? Как вы ее используете?

   
 
 автор: Freddie_X   (21.09.2006 в 18:01)   письмо автору
 
   для: kasmanaft   (21.09.2006 в 17:29)
 

Ну например при условии ( if() ) или ( echo $_SERVER['HTTP_REFERER']; )
Хотя, я что-то изменил и всё теперь работает, странно! Ну ладно хоть с этим разобрался, всем спасибо за огромную помощь!!!

   
 
 автор: cheops   (21.09.2006 в 19:17)   письмо автору
 
   для: Freddie_X   (21.09.2006 в 09:58)
 

Переменная $_SERVER['HTTP_REFERER'] заполняется только если вы переходите по ссылке с другой страницы, если страница просто загружается, переменная не заполняется.

   
 
 автор: Freddie_X   (21.09.2006 в 21:09)   письмо автору
 
   для: cheops   (21.09.2006 в 19:17)
 

Спасибо, запомню на будущее!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования