<MyRusakov.ru />

Создание движка на PHP и MySQL 2.0

Создание движка на PHP и MySQL 2.0

Видеокурс "Создание движка на PHP и MySQL 2.0" научит Вас создавать профессиональные движки для сайтов на PHP и MySQL с использованием ООП и паттерна MVC.

В курсе разобрана вся теория по структуре движка: как всё устроено, какие должны быть объекты, какая у них иерархия и как они взаимодействуют между собой.

В практической части будет создан движок с чистого листа. Будет создано ядро, все адаптеры, все вспомогательные классы, а также классы для работы с объектами базы данных. И чтобы курс был максимально полезным, будет создан движок для сайта MyRusakov.ru.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Получение IP-адреса
10.11.2012 21:07:57 Получение IP-адреса Сообщение #1
Arch

Arch

Новичок

Новичок

Дата регистрации:
24.12.2011 12:03:43

Сообщений: 11

Здравствуйте Михаил!

Хочется для себя уточнить небольшой момент по определению IP адреса пользователя.
Самый распространенный способ в гугле выглядит приблизительно так:

function GetRealIp()
{
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}


Так как HTTP_ может присылать любые заголовки, то не факт что в HTTP_CLIENT_IP и HTTP_X_FORWARDED_FOR будет корректный IP(если он там вообще будет). Опять-же заголовки можно подменить подставив "левый" адрес.
Но REMOTE_ADDR будет содержать только последний ip из всей цепочки роутеров и серверов от клиента, что может быть не очень приятно для пользователей какого либо крупного провайдера если допустим в голосовании кто то уже голосовал из его подсети и IP записался в БД.

Так вот интересно, что бы Вы посоветовали, оставить определение только по REMOTE_ADDR, или все таки стоит проверять и заголовки, предварительно проверив их на корректность IP адреса через регулярные выражения?
Профиль Ответить
10.11.2012 21:34:53 Получение IP-адреса Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Если нет острой необходимости, то не надо лишний раз загружать сервер, и достаточно будет REMOTE_ADDR.
Профиль Ответить
10.11.2012 21:48:34 Получение IP-адреса Сообщение #3
Arch

Arch

Новичок

Новичок

Дата регистрации:
24.12.2011 12:03:43

Сообщений: 11

Спасибо за совет! Значит не буду заморачиваться =).
Профиль Ответить
25.11.2012 12:26:26 Получение IP-адреса Сообщение #4
show

show

Новичок

Новичок

Дата регистрации:
25.11.2012 11:56:28

Сообщений: 10

Помогите новечку пожалуйста, по этой же теме.

Ип нашли, нужно сверить его с таблицей в БД, если совпадают вывести один текст, если нет- другой.
Профиль Ответить
25.11.2012 12:52:44 Получение IP-адреса Сообщение #5
Attention

Attention

Новичок

Новичок

Дата регистрации:
10.08.2012 18:18:39

Сообщений: 19

Пример самой простейшей реализации, алгоритм я думаю будет понятен.

$ip = $_SERVER['REMOTE_ADDR'];
$query = mysql_query("SELECT * FROM tablename WHERE ip='$ip'";
if(mysql_num_rows($query)>0) {
echo "IP в базе найден";
}
else {
echo "IP в базе не найден";
}
Профиль Ответить
25.11.2012 13:03:10 Получение IP-адреса Сообщение #6
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

http://myrusakov.ru/mysql-query.html - про то, как смотреть записи. А уж сравнить то, что там с $ip проблем не должно составить.
Профиль Ответить