Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.05.2018, 11:11
Аватар для xShift
Профессор
Отправить личное сообщение для xShift Посмотреть профиль Найти все сообщения от xShift
 
Регистрация: 22.11.2016
Сообщений: 212

RU-CENTER : setcookie()
Такая ситуация. Лабал авторизацию на 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 нет ответа.
Ответить с цитированием
  #2 (permalink)  
Старый 20.05.2018, 11:22
Аватар для xShift
Профессор
Отправить личное сообщение для xShift Посмотреть профиль Найти все сообщения от xShift
 
Регистрация: 22.11.2016
Сообщений: 212

Update. Странно себя ведет header location. Из index.php работает, а из include, require и require_once не работает ничего. Может какие-то ini есть?
Ответить с цитированием
  #3 (permalink)  
Старый 23.05.2018, 11:56
Аватар для xShift
Профессор
Отправить личное сообщение для xShift Посмотреть профиль Найти все сообщения от xShift
 
Регистрация: 22.11.2016
Сообщений: 212

Кароче протестировал еще на Reg.ru.

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

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

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

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

Кто знает что за настройка ломает headers? Может ENV не так настроен?
Ответить с цитированием
  #4 (permalink)  
Старый 23.05.2018, 13:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Заголовок будет передан только в том случае, если до него не было вывода, каких то иных ограничений нет.
setcookie передается также с заголовками и на эту функцию также распространяются эти правила, так что не понятно зачем у вас в одном случае установка кук непосредственно передачей заголовка, а в другом случае функцией.
Было дело и на RU-CENTER сайт писал, каких-то проблем при этом не было с заголовками.
Ответить с цитированием
  #5 (permalink)  
Старый 23.05.2018, 16:54
Аватар для xShift
Профессор
Отправить личное сообщение для xShift Посмотреть профиль Найти все сообщения от xShift
 
Регистрация: 22.11.2016
Сообщений: 212

> если до него не было вывода

не было.

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

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

То есть дело даже было не в классе, а в говнячем хостинге с говнячими настройщиками.
Ответить с цитированием
  #6 (permalink)  
Старый 23.05.2018, 17:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

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

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

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

Последний раз редактировалось laimas, 23.05.2018 в 17:17.
Ответить с цитированием
  #7 (permalink)  
Старый 23.05.2018, 17:49
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Прошу прощения за оффтоп.
"ru-center" - это nic[dot]ru который?
Ответить с цитированием
  #8 (permalink)  
Старый 23.05.2018, 17:57
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Nexus, да.
Ответить с цитированием
  #9 (permalink)  
Старый 23.05.2018, 18:00
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

laimas, спасибо.

xShift, вряд ли проблема в настройках сервера, несколько сайтов клиентов у них хостится и никогда проблем с куками не было.
Проверьте лог ошибок, он наверняка не пустой.
Ответить с цитированием
  #10 (permalink)  
Старый 24.05.2018, 20:52
Аватар для xShift
Профессор
Отправить личное сообщение для xShift Посмотреть профиль Найти все сообщения от xShift
 
Регистрация: 22.11.2016
Сообщений: 212

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему в хроме и в лисе по-разному срабатывает скрипт? serggrodno jQuery 1 08.02.2016 09:56
Изменение свойства backgroundImage у элемента Егорыч Events/DOM/Window 10 07.04.2015 15:53
setCookie array Beriagts jQuery 2 23.02.2012 13:51
ExtJS4 Grid в IE 6,7 и 8 Alexsey42 ExtJS 6 13.02.2012 07:49
Меню на дивах Golovastik (X)HTML/CSS 38 13.09.2010 09:10