Risposte:
Il server invia quanto segue nell'intestazione della risposta per impostare un campo cookie.
Set-Cookie:
valore del nome=
Se è stato impostato un cookie, il browser invia quanto segue nell'intestazione della richiesta.
Cookie:
valore del nome=
Consulta l' articolo sui cookie HTTP su Wikipedia per ulteriori informazioni.
I cookie vengono passati come intestazioni HTTP, sia nella richiesta (client -> server), sia nella risposta (server -> client).
A parte ciò che è scritto in altre risposte, altri dettagli relativi al percorso del cookie, all'età massima del cookie, indipendentemente dal fatto che sia protetto o meno, sono passati anche nell'intestazione della risposta Set-Cookie. Per esempio:
Set-Cookie:
nome =
valore [ ; expires=
data ] [ ; domain=
dominio ] [ ; path=
percorso ] [ ; secure
]
Tuttavia, non tutti questi dettagli vengono restituiti al server dal client durante la successiva richiesta HTTP.
Puoi anche impostare HttpOnly
flag alla fine del tuo cookie, per indicare che il tuo cookie è httponly e non deve poter accedere, negli script tramite codice javascript. Questo aiuta a prevenire attacchi come il dirottamento della sessione.
Per ulteriori informazioni, consultare RFC 2109 . Dai un'occhiata anche all'articolo di Nicholas C. Zakas, spiegano i cookie HTTP .
creare uno script di esempio come resp:
#!/bin/bash
http_code=200
mime=text/html
echo -e "HTTP/1.1 $http_code OK\r"
echo "Content-type: $mime"
echo
echo "Set-Cookie: name=F"
quindi rendere eseguibile ed eseguire in questo modo.
./resp | nc -l -p 12346
apri il browser e sfoglia l'URL: http: // localhost: 1236 vedrai il valore del cookie che viene inviato dal browser
[aaa @ bbbbbbbb] $ ./resp | nc -l -p 12346 GET / HTTP / 1.1 Host: xxx.xxx.xxx.xxx:12346 Connessione: keep-alive Controllo cache: età massima = 0 Accetta: text / html, application / xhtml + xml, application / xml; q = 0.9, image / webp, * / *; q = 0.8 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla / 5.0 (Windows NT 6.1) AppleWebKit / 537.36 (KHTML, come Gecko) Chrome / 49.0.2623.112 Safari / 537.36 Accetta-codifica: gzip, deflate, sdch Accept-Language: en-US, en; q = 0.8, ru; q = 0.6 Cookie: nome = F