Получение файлов cookie с помощью JavaScript XMLHTTPReq - PullRequest
0 голосов
/ 23 марта 2012

Просто интересно, можно ли использовать XMLHTTPReq для входа на веб-сайт и сохранить cookie. В частности, я использую PHPSessionID с веб-сайта, на котором я вхожу.

Затем я хочу передать этот файл cookie в другой запрос на отправку формы.

Есть идеи, как это сделать?

Ура, Ник

Ответы [ 2 ]

0 голосов
/ 24 марта 2012

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

0 голосов
/ 23 марта 2012

Вы сможете получить куки своего сайта от document.cookie.В обратном вызове AJAX используйте библиотеку , чтобы проанализировать значение и прочитать искомый файл cookie.

Конечно, если сервер устанавливает файл cookie HttpOnly (что он должен делать), он не будет доступен в document.cookie.

На этом этапе вам необходимо пересмотреть то, что вы 'вы делаете:

  • Если форма указывает на ваш веб-сайт, ваш серверный скрипт все равно будет иметь доступ к cookie.
  • Если вы отправляете идентификатор сеанса пользователя в другой домен,Зачем?Это огромный красный флаг, который кричит о проблеме безопасности.

Если вы заходите на другой сайт, то нет - политика того же происхождения запрещает вамдоступ к файлам cookie другого сайта.


Редактировать : так как это для вашего собственного использования, вы можете делать это так, как вы не ограничены исходными ограничениями браузера.Некоторые мысли:

  • Вы можете сделать расширение Chrome.На расширения не распространяются ограничения на происхождение , а модель разработки и API практически не отличаются от того, что вы делаете на обычной веб-странице.
  • Вы можете использовать Узел , который не имеет ограничений.Вы сможете вызвать свой скрипт из командной строки, но API будет немного отличаться от того, что вы будете использовать на веб-странице.
  • Используйте свой язык ивыберите на странице входа в систему POST, получите в ответе заголовок Set-Cookie и используйте его для отправки заголовка Cookie в другом POST целевому объекту формы.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...