2015-01-10 2 views
0

У меня есть приложение PHP, которое отображает HTML-страницы для приложения для социальных сетей, которое я создаю. Затем JavaScript инициализирует и делает вещи интерактивными. PHP-сторона вещей входит в отдельный веб-сервис с curl.Доля PHP сессия с Javascript

Теперь я не могу найти способ поделиться сеансом, запущенным в PHP с помощью JavaScript, поэтому, когда я делаю запрос AJAX в JavaScript на сервере данных, его аутентифицируют.

Есть ли способ поделиться сеансом PHP с JavaScript? Или поделиться аутентификацией, первоначально созданной с помощью PHP с JavaScript?

+0

http://code.tutsplus.com/tutorials/token-based-authentication-with-angularjs-nodejs--cms-22543 читайте эту статью, можете ли вы получить представление о том, что делать. – jewelhuq

+0

Это соединение было очень полезно! Думаю, я больше буду использовать токены, чем сеансы. Спасибо! – projectnard

ответ

1

Я бы сказал, что это звучит как-то не так с вашей архитектуры. На мой взгляд, сам веб-сервер должен быть единственным равным, предоставляющим данные клиенту/браузеру. Это двухсторонний разговор.

При попытке проникновения на сервер сторонних производителей из браузера вы нарушаете политику браузеров Same-Origin, если вы специально не разрешаете CORS, явно устанавливая различные заголовки запросов и ответов. - и вы сделали бы это только в особых ситуациях.

Лучшим решением может быть создание прокси-сервисов на веб-сервере, который может быть удален напрямую (локально) браузером. Затем веб-сервер (действуя как контроллер) перенаправляет запрос данных на сервер данных (модель) и, наконец, возвращает ответ на браузер (представление).

+0

Кстати. Если вы действительно этого хотите, ** ** можно отправить cookie PHP-сессии на сторонний источник из XHR, используя правильную конфигурацию CORS. Ваш веб-сервер должен установить _Access-Control-Allow-Credentials: true_ заголовок, а ваш Javascript-код должен настроить XHR: _withCredentials: true_. –

+0

С текущим настроением у меня есть, я верю, что это лучший способ выполнить все. Тем не менее, я думаю, что собираюсь исследовать использование токенов, поэтому мне не пришлось бы беспокоиться о сеансе. Спасибо! – projectnard

0

Вы можете прочитать cookie сессии, установленный PHP (SID, я думаю), с помощью JavaScript, содержащего идентификатор сеанса. При выполнении запроса, используйте

http://example.com/?sid=SessionID 
+0

Это не ответ только для ссылок. Нет реальной ссылки. –

Смежные вопросы