DLE. Переезд на https, не работает логин в админку, (куки?)

T
На сайте с 06.10.2007
Offline
81
3649

движок Data Life Engine 8.2

при переезда не https не могу попасть в админку...

Авторизация на сайте проходит успешно. В профиле клацаю по ссылке "Админцентр" (https://mysite/admin.php), открывается админ панель как обычно. Но стоит перейти по любой ссылке в админке, сразу выбивает окошко авторизации. И самое интересное, ввожу правильный логин и пароль, пишет "Доступ отклонен!"...

После удачной авторизации

В логах и в панеле разработчика в браузере ничего нет.... Версия php 5.6.24, возможно что то там не поддерживается...

Короче буду рад любым ответам, а то не знаю даже в какую сторону смотреть...

После нажатия любой ссылки в админке

hosting_manager
На сайте с 26.03.2010
Offline
305
#1

Приветствую, нужно смотреть, что там конкретно у Вас. Очень вероятно, что из-за того, что устаревшая версия движка, Вам нужно в части php-файлов провести замену:

http:// —> https://

http://www. —> https://www.

Готовы посмотреть бесплатно, при условии переноса проекта к нам в Нидерланды (связность с Украиной будет волшебной).

ua-hosting.company: серверы в NL/US со скидкой 30% нашим читателям: E5-2650v4/10GB DDR4/240GB SSD/1 Gbps - от $20 ()
Евгений Русаченко
На сайте с 17.04.2013
Offline
157
#2

Приветствую.

У Вас стоит флаг HttpOnly, он ставится при установке cookie с помощью функции setcookie: http://php.net/manual/ru/function.setcookie.php

Сделайте поиск по коду и установите параметр httponly в false.

Если доступен SSH, то выполните в корне сайта grep -rn "setcookie(" . | grep "\.php", это выведет все файлы с функцией setcookie, а также строчкой, где она находится.

Почта для домена ( https://lite.host/pochta/dlya-domena ) с безлимитными пользователями и доменами / Хостинг ( https://lite.host/hosting/dlya-blogov ) от 99 рублей / поддержка Let's Encrypt / PHP от 5.2 до 8.3 / SSH / бесплатный перенос,
S
На сайте с 30.09.2016
Offline
469
#3
Евгений Русаченко:
установите параметр httponly в false

Сомнительное решение.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
S
На сайте с 30.09.2016
Offline
469
#4

Thorin, а может быть, Вы просто не прописали в конфиге http_home_url?

T
На сайте с 06.10.2007
Offline
81
#5

Всем спасибо за помощь, разобрался

в файле admin.php

$check_referer = true;

поставил в false и все заработало

И посмотрел по скриптам что есть, версия ДЛЕ 8.2 и младше, в файле init.php есть код

if ($check_referer) {

if ($_SERVER['HTTP_REFERER'] == '' AND $_REQUEST['subaction'] != 'dologin') $allow_login = true;
elseif (clean_url($_SERVER['HTTP_REFERER']) == clean_url($_SERVER['HTTP_HOST'])) $allow_login = true;
} else {
$allow_login = true;
}

а точно с 9.0 версии не нашел его, видать убрали и там все должно работать)

Евгений Русаченко
На сайте с 17.04.2013
Offline
157
#6
Sitealert:
Сомнительное решение.

Да, Вы правы, это не решит проблему (ознакомился с подробным описанием параметра).

WebAlt
На сайте с 02.12.2007
Offline
266
#7

Поддержка PHP 5.6+ в DLE началась с v.10.4, если что. ;)

http://dle-news.ru/release/1632-datalife-engine-v104-final-release.html#sel=50:1,50:12


26. Проведена адаптация скрипта для корректной поддержки линейки PHP 5.6.x

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий