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 HttpOnlyflag 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