Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Динамический IP

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
mshdn
Отправлено: 22 Апреля, 2011 - 10:08:23
Post Id


Гость


Покинул форум
Сообщений всего: 90
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Есть ли возможность определить повторное действие юзера на сайте, у которого динамический IP ( например, в системах голосования предотвратить повторный клик)?
REMOUTE_ADDR не поможет в данном лучае?
 
 Top
EuGen Администратор
Отправлено: 22 Апреля, 2011 - 10:15:26
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Устанавливайте куки.
Правда, любый ухищрения при отсутствии авторизации - это только для тех, кто добросовестно пользуется ресурсом. Если кому-то захочется обойти это - обойдет.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Viper
Отправлено: 22 Апреля, 2011 - 10:28:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Обрабатывайте
$_SERVER['HTTP_USER_AGENT']
$_SERVER['HTTP_CLIENT_IP']
$_SERVER['HTTP_X_FORWARDED_FOR']
$_SERVER['HTTP_VIA']

Ниже функция которую сам наваял с перепугу и которая более-менее работает. Лишнее можете убрать.
PHP:
скопировать код в буфер обмена
  1. function getIP() {
  2.         $ip = $_SERVER['REMOTE_ADDR'];
  3.         $ua = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
  4.         $via = isset($_SERVER['HTTP_VIA']) ? '('.$_SERVER['HTTP_VIA'].')' : '';
  5.  
  6.         if (isset($_SERVER['HTTP_CLIENT_IP'])) {
  7.                 $local_ip = $_SERVER['HTTP_CLIENT_IP'];
  8.         } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  9.                 $local_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  10.         } else {
  11.                 $local_ip = $_SERVER['REMOTE_ADDR'];
  12.         }
  13.  
  14.         $wrong_format = 0;
  15.         $full = explode('.', $local_ip);
  16.         foreach($full as $ips) {
  17.                 if ($ips != intval($ips).'') $wrong_format++;
  18.         }
  19.         if (!$wrong_format and count($full) == 4) {
  20.                 return array('ip'=>$ip, 'local_ip'=>$local_ip, 'via'=>$via, 'ua'=>$ua);
  21.         } else {
  22.                 return array('ip'=>$ip, 'via'=>$via, 'ua'=>$ua);
  23.         }
  24. }


Для профессионалов просьба проверить функцию на ошибки Улыбка


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
destus
Отправлено: 22 Апреля, 2011 - 10:28:56
Post Id


Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Апр. 2011  


Помог: 4 раз(а)




REMOTE ADDR не поможет. Можно сделать привязку к телефону и подтверждение по смс. Вообщем всегда всё можно обойти в любом случае.
 
 Top
movEAX
Отправлено: 22 Апреля, 2011 - 18:06:26
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




рус. http://habrahabr[dot]ru/blogs/webdev/104725/
англ. http://samy[dot]pl/evercookie/

На мой взгляд, удачное решение.


-----
армия.. самое убогое место
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB