 |

02.08.2020, 17:22
|
|
Познавший АНТИЧАТ
Регистрация: 05.10.2019
Сообщений: 1,649
С нами:
3477805
Репутация:
168
|
|
Есть 3 значения с ip: $_SERVER['HTTP_CLIENT_IP'], $_SERVER['HTTP_X_FORWARDED_FOR'], $_SERVER['REMOTE_ADDR'].
Хотел бы узнать что лучше использовать для идентификации пользователя?
Правильность получение ip мне не важна, главное чтобы он у всех был разный и не менялся со временем.
Также есть ли смысл юзать такой код?
PHP:
|
|
|

03.08.2020, 17:13
|
|
Участник форума
Регистрация: 04.08.2017
Сообщений: 144
С нами:
4618120
Репутация:
98
|
|
Правильным решением будет $_SERVER['REMOTE_ADDR'] (потому что остальные заголовки можно подменить вручную), а меняться он так и так может, если у человека динамический ip.
|
|
|

07.08.2020, 10:30
|
|
Участник форума
Регистрация: 27.08.2017
Сообщений: 143
С нами:
4584912
Репутация:
83
|
|
Сообщение от Tema05
Есть 3 значения с ip: $_SERVER['HTTP_CLIENT_IP'], $_SERVER['HTTP_X_FORWARDED_FOR'], $_SERVER['REMOTE_ADDR'].
Хотел бы узнать что лучше использовать для идентификации пользователя?
Правильность получение ip мне не важна, главное чтобы он у всех был разный и не менялся со временем.
Также есть ли смысл юзать такой код?
PHP:
Есть, это более точный показ IP
|
|
|

25.08.2020, 21:59
|
|
Участник форума
Регистрация: 28.06.2020
Сообщений: 103
С нами:
3094002
Репутация:
48
|
|
Сообщение от butchers
Есть, это более точный показ IP
Нет, я уже лично объяснял все это автору вопроса раз 100, не меньше.
Человек выше абсолютно прав -- все остальные заголовки, кроме REMOTE_ADDR можно спокойно подменить. Код, который выложил автор - пабликовый, им пользуются миллионы новичков, но так и не понимают, что это бесполезно. Более того, в PHP категорически нельзя юзать игнорирование ошибок (
) - это может привести к катастрофическому фризу.
Чтобы увидеть пруфы слов выше, достаточно перейти в
Код:
/etc/nginx/fastcgi.conf
(если Вы не ньюфаг и у Вас стоит NGINX).
Там будет такая строка:
NGINX:
Код:
fastcgi_param
REMOTE_ADDR
$remote_addr
;
- думаю, понятно, что это параметры для работы FCGI и PHP.
- название переменной.
- значение переменной.
- это внутренняя-дефолтная переменная NGINX, как раз в ней хранится IP-адрес клиента. Соответственно, если запрос поступает на *file*.php, NGINX запустит PHP-процесс через FCGI с параметрами из
, но в этом конфиге имеется только ОДНА ПЕРЕМЕННАЯ ДЛЯ ОПРЕДЕЛЕНИЯ IP-АДРЕСА И ЕЕ НЕВОЗМОЖНО ПОДДЕЛАТЬ.
Вот. На счет апача - не думаю, что его кто-то юзает. Если хостинг - вся та же самая картина, хостинг не будет менять дефолтный
на какой нибудь
Код:
X_REAL_REALNO_REALNIY_IP_CLIENTA_TRUE_PRAVDA
.
Вот.
|
|
|

26.08.2020, 01:39
|
|
Познавший АНТИЧАТ
Регистрация: 05.10.2019
Сообщений: 1,649
С нами:
3477805
Репутация:
168
|
|
Сообщение от MMXVII
Нет, я уже лично объяснял все это автору вопроса раз 100, не меньше.
Человек выше абсолютно прав -- все остальные заголовки, кроме REMOTE_ADDR можно спокойно подменить. Код, который выложил автор - пабликовый, им пользуются миллионы новичков, но так и не понимают, что это бесполезно. Более того, в PHP категорически нельзя юзать игнорирование ошибок (
) - это может привести к катастрофическому фризу.
Чтобы увидеть пруфы слов выше, достаточно перейти в
Код:
/etc/nginx/fastcgi.conf
(если Вы не ньюфаг и у Вас стоит NGINX).
Там будет такая строка:
NGINX:
Код:
fastcgi_param
REMOTE_ADDR
$remote_addr
;
- думаю, понятно, что это параметры для работы FCGI и PHP.
- название переменной.
- значение переменной.
- это внутренняя-дефолтная переменная NGINX, как раз в ней хранится IP-адрес клиента. Соответственно, если запрос поступает на *file*.php, NGINX запустит PHP-процесс через FCGI с параметрами из
, но в этом конфиге имеется только ОДНА ПЕРЕМЕННАЯ ДЛЯ ОПРЕДЕЛЕНИЯ IP-АДРЕСА И ЕЕ НЕВОЗМОЖНО ПОДДЕЛАТЬ.
Вот. На счет апача - не думаю, что его кто-то юзает. Если хостинг - вся та же самая картина, хостинг не будет менять дефолтный
на какой нибудь
Код:
X_REAL_REALNO_REALNIY_IP_CLIENTA_TRUE_PRAVDA
.
Вот.
Канешно спасибо за объяснение, но тема уже давно не актуальна. Я и забыл о ней.
|
|
|

26.08.2020, 02:39
|
|
Участник форума
Регистрация: 28.06.2020
Сообщений: 103
С нами:
3094002
Репутация:
48
|
|
Сообщение от Tema05
Канешно спасибо за объяснение, но тема уже давно не актуальна. Я и забыл о ней.
Больше, чем уверен -- ты бы еще раз задал такой же вопрос. Надеюсь, все доходчиво объяснил.
|
|
|

26.08.2020, 10:21
|
|
Познавший АНТИЧАТ
Регистрация: 05.10.2019
Сообщений: 1,649
С нами:
3477805
Репутация:
168
|
|
Сообщение от MMXVII
Больше, чем уверен -- ты бы еще раз задал такой же вопрос. Надеюсь, все доходчиво объяснил.
В этот раз он остался в истории, так что я могу ещё раз это прочитать.
|
|
|

27.08.2020, 18:00
|
|
Познающий
Регистрация: 23.05.2013
Сообщений: 38
С нами:
6826908
Репутация:
73
|
|
Добавлю к текущим ответам. Сам для получения IP адреса пользователя использую - $_SERVER['REMOTE_ADDR'] .
Однако, возможно ты столкнешься с работой с Cloudflare, на этот случай используй - $_SERVER["HTTP_CF_CONNECTING_IP"] .
|
|
|
|
 |
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|