Вход

Просмотр полной версии : RU-CENTER : setcookie()


xShift
20.05.2018, 11:11
Такая ситуация. Лабал авторизацию на MAMP все работало как швейцарские часы. Перетащил движок на RU-CENTER - не могу авторизоваться.

Начал копать и наткнулся на такое вот дерьмо:

В Корневом файле index.php работает

setcookie('authorization', 1);

header('Set-cookie: test=test; Path=/;');

header('Set-cookie: authorization='. 1 .'; Path=/;');

$_SESSION["authorization"] = 0;

В общем все работает. К нему подключаешь класс Auth и в нем то же самое нихера не работает. Если в индекс добавить функцию и вызвать из этого класса то тоже нихера не работает.

Кто знает как победить сие дерьмо?

Код класса:



class Auth {

public static function login($token) {
//setcookie('authorization', 1, time() + 10600, '/');
//setcookie('usertoken', $token, time() + 10600, '/');

//setcookie('authorization', 1);
//setcookie('usertoken', $token);

header('Set-cookie: test=test; Path=/;');

header('Set-cookie: authorization='. 1 .'; Path=/;');
header('Set-cookie: usertoken='. $token .'; Path=/;');


}

public static function logout() {
//setcookie('authorization', 0, time() + 10600, '/');
//setcookie('usertoken', '', time() + 10600, '/');

$_SESSION["authorization"] = 0;
$_SESSION["usertoken"] = '';

setcookie('authorization', 0);
setcookie('usertoken', '');

}

}


Ru-center сидит с печеньем в жопе и молчит. На реквест уже часов 12 нет ответа.

xShift
20.05.2018, 11:22
Update. Странно себя ведет header location. Из index.php работает, а из include, require и require_once не работает ничего. Может какие-то ini есть?

xShift
23.05.2018, 11:56
Кароче протестировал еще на Reg.ru.

Виновата настройка сервера.

Если заблокировать доступ ко всем PHP файлам и разрешить index.php в котором подключены через require_once библиотеки, то не работает модуль header нигде кроме самого index.php. Виновата дерьмовая Ubuntu OS со своей дерьмовой обвязкой.

У меня нормально взлетела на Sprinthost. Че у них за сервера не узнавал, но судя по описанию что-то на Lua и видимо BSD.

У меня кстати на Mac OS тоже все нормально работает.

Кто знает что за настройка ломает headers? Может ENV не так настроен?

laimas
23.05.2018, 13:34
Заголовок будет передан только в том случае, если до него не было вывода, каких то иных ограничений нет.
setcookie передается также с заголовками и на эту функцию также распространяются эти правила, так что не понятно зачем у вас в одном случае установка кук непосредственно передачей заголовка, а в другом случае функцией.
Было дело и на RU-CENTER сайт писал, каких-то проблем при этом не было с заголовками.

xShift
23.05.2018, 16:54
> если до него не было вывода

не было.

> так что не понятно зачем у вас в одном случае установка кук непосредственно передачей заголовка, а в другом случае функцией.

Я все перепробовал. Думал setckooie галюначит. Функцию в index.php создавал без класса с одним аргументом и вызывал из файлов подключенных к этому же index.php c помощью require_once - и не работало даже так. Срабатывала на Reg.ru и Ru-Center только инструкция прямо в index.php. Срабатывала любая и заголовком и API куки. Вот так.

То есть дело даже было не в классе, а в говнячем хостинге с говнячими настройщиками.

laimas
23.05.2018, 17:11
Причина ошибки функции header одна - вывод перед передачей заголовка. Если не передается, значит стоит проанализировать наличие ошибок. Можно проверить передачу заголовков - headers_sent.

Чего гадать на кофейной гуще? К данному хостеру у меня была только одна претензия - слишком они тянут с обновлением версий РНР.

PS. Что касается кук, то скорее всего проблема с путями.

Nexus
23.05.2018, 17:49
Прошу прощения за оффтоп.
"ru-center" - это nic[dot]ru который?

laimas
23.05.2018, 17:57
Nexus, да.

Nexus
23.05.2018, 18:00
laimas, спасибо.

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

xShift
24.05.2018, 20:52
Да это говно хостинг. Там на каждое хочу - дай денег. С SEO продвижением так вообще нае...лово. Платишь не за что, а эти суки еще и работают как улитки. Щас забираю все домены и переношу к другому регистратора. Какие защиты личных данных по сути даже не законно сделанные. SSL везде уже бесплатный - у этих он стоит как ядерная ракета. Кароче много чего. Не вывозят сервис за такие бабки.

laimas
24.05.2018, 22:29
SSL везде уже бесплатный

Это если сертификат липовый, а надежный сертификат всегда был и будет оплачиваемый.

j0hnik
24.05.2018, 23:10
Это если сертификат липовый, а надежный сертификат всегда был и будет оплачиваемый.
Заблуждение. Есть бесплатные НЕ липовые.

laimas
24.05.2018, 23:19
Заблуждение. Есть бесплатные НЕ липовые.

Да, можно оформить и бесплатный, если жалко платить $10 - $15 в год, и при этом испытывать проблемы с подтверждением подлинности, и не очень котироваться у Яндекса и Гугла.

И с таким же успехом нарваться на липу.

ruslan_mart
25.05.2018, 12:29
Ru-Center - ерунда, согласен. Сам сайт у них непонятный, все разделы расположены непонятно где. Всё платное, даже DNS-сервер. Мне больше reg[dot]ru нравится, у них как-то всё проще и удобней, да и те же DNS-сервера у них бесплатны.

xShift
25.05.2018, 22:05
> Сам сайт у них непонятный

Это чтобы все тупили и нажимали оплата почаще.

А SSL можно самому сгенерировать бесплатно. Вопрос в сервере. А нужна только TXT запись в DNS по сути, но пидорги зажмотились и тут ничего не поделать пока им в табло котлету не засунешь.