<MyRusakov.ru />

Создание сайтов на Django

Создание сайтов на Django

Данный курс научит Вас создавать сайты на очень мощном фреймворке – Django. Курс состоит из 9 разделов, в которых Вы с нуля освоите данный фреймворк на примере создания полноценного Интернет-магазина.

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

Помимо самого курса Вас ждёт ещё и бесплатный ценный Бонус: «Unit-тестирование сайта на Django». В этом Бонусе Вы узнаете, как можно написать автоматические тесты для проекта на Django. Это позволит находить оперативно ошибки, а также даст возможность в будущем добавлять новый функционал, не боясь что-то сломать в старом.

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

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

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

Подписавшись по 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 проблем не должно составить.
Профиль Ответить