Вы не можете получить доступ к этой странице напрямую - HybridAuth Social Login

Я использую социальный плагин HybridAuth на своем веб-сайте для входа с Facebook и других веб-сайтов,

все работает нормально, но при проверке на других компьютерах возникает ошибка:

Вы не можете получить доступ к этой странице напрямую

и я заметил, что ошибка возникает при использовании браузера WWW в адресной строке браузера на том же компьютере, например: опера не использует www поэтому в этих браузерах нет ошибок.

Пожалуйста, помогите мне, как я могу исправить эту ошибку, чтобы войти можно было из любого браузера.

5 ответов

Решение

Причина в том, что Facebook перезванивает в другом php-сеансе и не может получить доступ к информации о конфигурации из сеанса вызывающего Посмотрите на Endpoint.php if (! $ Storage->config( "CONFIG")) ... Причина была в том, что я использую на своем сайте 127.0.0.1, но return_uri был на localhost из-за ограничений Facebook. В этом случае PHP создает разные сессии.

Добавив "www." на URL-адрес решает проблему.

Те, кто сталкивается с сообщением об ошибке "Вы не можете получить доступ к этой странице напрямую".

Попробуй после добавления @session_start(); Заявление в верхней части ваших файлов.

После добавления этого поверх моего контроллера он начал работать

if (session_status() == PHP_SESSION_NONE) {
    @session_id($_COOKIE['CAKEPHP']);
    @session_start();
    @session_name('CAKEPHP');
}

Читайте здесь https://github.com/hybridauth/CakePHP-HybridAuth/pull/1

Это может быть связано с использованием пользовательского обработчика сеанса, который устанавливается session_set_save_handler(), Я решил эту проблему, добавив наш собственный обработчик сеанса вверху hybridauth/index.php (находится в том же каталоге, что и config.php а также live.php). Это заставляет Hybrid Auth использовать ваш собственный обработчик сеанса.

Другие вопросы по тегам