Для тех, кто работает с первой веткой. Стоит проверить работу сайта при доступе к нему с ip6 типа 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d
С некоторых пор стал сталкиваться с тем, что при попытке перемещаться по сайту, все время происходит редирект на главную страницу. Потом проблема исчезает также неожиданно как и появилась.
Пока получается, что дело в этой функции в user.class.php
private function checkSpoofingSession() { // первый раз зашли if(!isset($_SESSION['user_net'])) { $octets = explode('.', $_SERVER['REMOTE_ADDR']); $_SESSION['user_net'] = rtrim($_SERVER['REMOTE_ADDR'], end($octets)); return true; } return mb_strstr($_SERVER['REMOTE_ADDR'], $_SESSION['user_net']); }
здесь $octets = explode('.', $_SERVER['REMOTE_ADDR']); рассматривается ip адрес в формате ip4 а далее
с этой функцией связан редирект
public function update() { // привязка ip адреса к сессии if(!$this->checkSpoofingSession()){ $this->logout(); cmsCore::redirectBack(); }
Когда я захожу через мобильный МТС там адреса ip6 и вроде как получается вышеупомянутые функции меня отфильтровывают.
Столкнулся с этим на 1.10.6, на всякий случай проверил в 1.10.7 не исправлено.
Пока просто закомментировал строки с редиректом
$this->logout();
cmsCore::redirectBack();
если кто-то может подсказать оптимальный вариант замены кода чтобы при проверке учитывать и формат ip6, just do it