Помощь по скриптам | Авторизация
Всем привет. Пытался сделать что-то типа оповещения в логах, если у администратора на сайте не совпадает IP с прошлым, преждний IP находится в таблице admins столбик ip, получилось что-то типа такого:
Но проблема в том, что если меняются последние цифры ип, то запрос выполняется, а как сделать так, чтобы при смене последних ип запрос не выполнялся?
Что-то типа 85.100.*.*
if($_POST['login'] ==
'admin' && $_SERVER['REMOTE_ADDR'] != 'ip в базе'){
//запрос
} Но проблема в том, что если меняются последние цифры ип, то запрос выполняется, а как сделать так, чтобы при смене последних ип запрос не выполнялся?
Что-то типа 85.100.*.*
Храни ip не в виде строки, а в виде regexp выражения и в условии проверяй функцией preg_match
Второй вариант. У значения $_SERVER['REMOTE_ADDR'] удали несколько последних символов и так же сравнивай по регулярному выражению
________
посл. ред. 12.06.2018 в 14:27; всего 2 раз(а); by Dark_AKC
Второй вариант. У значения $_SERVER['REMOTE_ADDR'] удали несколько последних символов и так же сравнивай по регулярному выражению
________
посл. ред. 12.06.2018 в 14:27; всего 2 раз(а); by Dark_AKC
DELETED
12 июня 2018, в 14:44
Delete
[G]R7777 (12.06.2018 в 13:54)
Всем привет. Пытался сделать что-то типа оповещения в логах, если у администратора на сайте не совпадает IP с прошлым, преждний IP находится в таблице admins столбик ip, получилось что-то типа такого:
Но проблема в том, что если меняются последние цифры ип, то запрос выполняется, а как сделать так, чтобы при смене последних ип запрос не выполнялся?
Что-то типа 85.100.*.*
Всем привет. Пытался сделать что-то типа оповещения в логах, если у администратора на сайте не совпадает IP с прошлым, преждний IP находится в таблице admins столбик ip, получилось что-то типа такого:
if($_POST['login'] ==
'admin' && $_SERVER['REMOTE_ADDR'] != 'ip в базе'){
//запрос
} Но проблема в том, что если меняются последние цифры ип, то запрос выполняется, а как сделать так, чтобы при смене последних ип запрос не выполнялся?
Что-то типа 85.100.*.*
ip в базе один раз записан или ведётся отдельная таблица всех ip ?
PhpStorm , скорее всего там записывается ip с последней авторизации
[G]R7777 (12.06.2018 в 13:54)
Всем привет. Пытался сделать что-то типа оповещения в логах, если у администратора на сайте не совпадает IP с прошлым, преждний IP находится в таблице admins столбик ip, получилось что-то типа такого:
Но проблема в том, что если меняются последние цифры ип, то запрос выполняется, а как сделать так, чтобы при смене последних ип запрос не выполнялся?
Что-то типа 85.100.*.*
Всем привет. Пытался сделать что-то типа оповещения в логах, если у администратора на сайте не совпадает IP с прошлым, преждний IP находится в таблице admins столбик ip, получилось что-то типа такого:
if($_POST['login'] ==
'admin' && $_SERVER['REMOTE_ADDR'] != 'ip в базе'){
//запрос
} Но проблема в том, что если меняются последние цифры ип, то запрос выполняется, а как сделать так, чтобы при смене последних ип запрос не выполнялся?
Что-то типа 85.100.*.*
Если я тебя правильно понял, ты хочешь проверять IP для выполнения запроса, ты ли выполняешь или нет? Плохая идея, погугли, что такое диапазон IP адресов. Если хочешь сделать проверку, то тогда лучше token генерируй для каждого пользователя, так ты получишь уникальный ключ.
function cutIp($ip, $count = 2)
{
return implode(".", array_slice(explode(".", $ip), 0, $count));
}
$ip = '168.192.1.1';
echo cutIp($ip); // result: 168.192
if (cutIp($_SERVER['REMOTE_ADDR']) != cutIp($ip))
{
//changed ip
}
________
посл. ред. 12.06.2018 в 15:19; всего 2 раз(а); by Nets
PhpStorm , один раз