You get a bonus - 1 coin for daily activity. Now you have 1 coin

Cookie is not being sent back (cookies not working)

Practice



Upon receiving an HTTP request, along with the response the server can send a header

Set-Cookie
with the response.

Cookies are usually remembered by the browser and sent in the value of the HTTP header

Cookie
with every new request to the same server. You can set a cookie's expiration date, as well as its lifetime, after which the cookie will no longer be sent. You can also specify restrictions on the path and domain, i.e. specify for how long and to which site it is sent.

problem - the cookie is not sent back by the browser

in the image below you can debug the cookies, how they should work

in request 1, when the server responds, cookies are passed

these same cookies should be returned back by the client (browser) (2)

why might they not be returned back? because of this, for example, authorization might not work?

Cookie is not being sent back (cookies not working)

Comments

Куки) 04-04-2018
куки могут затираться если
Клиент (браузер) имеет следующие ограничения для cookies:

всего может храниться до 300 значений cookies
каждый cookie не может превышать 4Кбайт
с одного сервера или домена может храниться до 20 значений cookie
Если ограничение 300 или 20 превышается, то удаляется первая по времени запись. При превышении лимита объема в 4Кбайт корректность значения cookie страдает - отрезается кусок записи (с начала этой записи) равный превышению объема

Андрей 04-04-2018
Set-Cookie: =
[; =]
[; expires=]
[; domain=]
[; path=]
[; secure]
[; HttpOnly]

HttpOnly cookie — это такие куки, которые невозможно прочитать с помощью javascript, но доступные серверным скриптам, как и любые другие

Куки, недоступные из JS , защищает от XSS-атак . Прокравшийся на страницу вредоносный код не сможет получить доступ к пользовательские куки с помощью document.cookie.

secure - если стоит этот маркер, то информация cookie пересылается только через HTTPS (HTTP с использованием SSL - Secure Socket Level), в защищенном режиме. Если этот маркер не указан, то информация пересылается обычным способом.
asas 04-04-2018
Согласно Same-origin policy не передаются куки в следующих случаях

1. включено обязательное шифрование
2. не разрешены кросдоменные запросы между разными доменами
3. на одном и том же хосте выполняются запросы на разные порты ( при этом куки могут быть и доступными хостам на разных портах и вооще теряться от одного из хостов порт)
4. не разрешено передача куки на поддомен , при его указании или не указании заголовке
5. значение куки просрочено


пути решения:
1) подробное описание проблемы в спецификациях RFC 6265, RFC 2109 и RFC 2965, RFC2109 4.3.1
2) пробуйте разрешить кроссдоменные запросы XMLHttpRequest.withCredentials
3) пробуйте изменить запросы с разных хостов например если запущены 2 сервера на одном локальном хосте но на разных портах, то можно использовать вместо

localhost:8080
localhost:8181

можно использовать (например из адресной сроки доступ не по хосту а по ip, а аякс запросы будут выполнятся иначе)

localhost:8080
127.0.0.1:8080
[::1]:8080
::1:8000


To leave a comment

If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Lectures and tutorial on "Running server side scripts using PHP as an example (LAMP)"

Terms: Running server side scripts using PHP as an example (LAMP)