Lucrul cu cookie-uri în script cgi-perl pentru începători
Importante și foarte apreciate de către vizitatori ca un site major este ușor de utilizat și, într-un anumit sens, o abordare individuală a utilizatorului. Prin urmare, cele mai multe dintre site-urile mari și portaluri oferă utilizatorilor cu o astfel de oportunitate interesantă ca o interfață de setări individuale „sub el.“
De exemplu, un utilizator motor de căutare poate personaliza formatul de ieșire al rezultatelor - numărul de rezultate pe pagină, aspectul lor, etc. și în aspectul general al interfeței. Forumul poate aminti data ultimei înregistrări de utilizator și intrarea de lângă pentru a marca subiectele care au o „proaspete“ pentru mesajul său.
Este clar că, în aceste cazuri, toți utilizatorii site-ului sunt de lucru cu același software de tip server. Doar pentru fiecare utilizator pentru a stoca un set separat de parametri care definesc „abordarea individuală“ pentru utilizator. Fără acest parametrii de flexibilitate și o abordare individuală pentru utilizator sunt posibile. Parametrii pot fi setate fie de către utilizator, sau configurați serverul pe baza istoricului de navigare al utilizatorului.
În cazul în care este mai bine și mai inteligent mod de a stoca setările pentru fiecare utilizator individual? Asta-i drept, mașina utilizatorului. -) și utilizat în acest scop un mecanism, cum ar fi cookie-uri.
În plus ,, cookie-urile au utilizat pe scară largă într-o varietate de interfețe Web, inclusiv care necesită programe de afiliere script de autentificare a utilizatorului și - pentru „etichetați“ un client care a venit la site-ul în prima oară.
Ce sunt cookie-urile?
Mulți utilizatori de Internet „normale“ nu știu ce cookie-uri, dar au auzit sau citit, care a inclus cookie-uri într-un fel vă permit să monitorizeze mișcările lor pe internet și le-a pus pe picior de egalitate cu troieni și alte programe spion. Într-un manual pe internet, am întâlnit chiar și definiția: „cookie-uri - acestea sunt applet-uri mici, care rulează un server de pe mașină și se lasă să vegheze asupra ta“ Această atitudine față de cookie-uri, de asemenea, are dreptul de a exista, dar, de fapt, nimic de a face cu cookie-uri nu sunt programe.
Cookie-uri - aceste date este sub formă de perechi de „cheie = valoare“, care prevede browser-ul de server „pentru păstrarea în siguranță“ și apoi, data viitoare când vă apropiați de browser-ul dvs. primește de la el din nou. Mai mult decât atât, din motive de siguranță, aceste date pot fi obținute în cazul general doar de serverul pe care le-a emis, sau cele pentru care sunt destinate de către serverul emitent (în cazul în care setările browser-ului nu o interzic). Astfel, serverul de cookie-uri de utilizator poate salva doar ceea ce el deja „știe“.
În cele mai multe browsere, aceste date sunt stocate într-un fișier text într-o formă criptată. Cu toate că serverul nu este nevoie să „știe“ exact cum cookie-urile sunt stocate fizic pe client.
Cum funcționează cookie-uri. Formatul cookie.
La nivelul HTTP schimb de protocol cookie-uri între browser și serverul este după cum urmează.
La eliberarea HTTP-răspuns server poate seta un cookie pentru browser-ul prin câmpul antet de răspuns „Set-Cookie“. Dacă doriți să instalați unele cookie-uri declin, în antetul de răspuns trebuie să fie în mod corespunzător mai multe câmpuri Set-Cookie - separat pentru fiecare cookie.
În viitor, în cazul în care cookie-ul este încă lăsat în datele bazate pe browser (despre timpul vieții lor, a se vedea. De mai jos), următoarele cereri această resursă (și alte resurse ale serverului sunt incluse în setul de module cookie zona de acțiune), browser-ul returnează acest antet cookie în HTTP- cererea 'Cookie'. Eliberat numai în sine cookie (NAME = VALOARE), fără parametri. Dacă într-adevăr unele cookie-uri declin, acestea sunt emise într-un singur câmp „Cookie“ prin „pentru această resursă; „;
Un CGI-script este caseta de interogare este disponibil prin CGI variabila „HTTP_COOKIE“
Formatul complet este setat cookie după cum urmează:
NAME = VALUE; [Expiră = DATE;] [path = PATH;] [domeniu = DOMAIN_NAME;] [sigur]
Obligatoriu parte este, de fapt instalat cookie
unde se află NAME - numele cheii și valoarea - valoare-cheie.
expiră - data expirării. Cu opțiunea expiră serverul poate specifica „termenul de valabilitate“ (sau, mai degrabă, „ultima dată de valabilitate“) cookie. Dacă acest parametru nu este specificat, cookie-ul există în fereastra browser-ului înainte de al închide. Acest lucru este util, de exemplu, atunci când accesarea serviciilor care necesită autentificarea utilizatorului - in cookie-uri stocate detaliile de acces ale utilizatorilor, utilizatorul „merge“ pe interfața web cu aceste cookie-uri, iar apoi se închide fereastra - și detaliile de acces sunt șterse din computer. Și, de asemenea - pentru orice alți parametri care sunt valabile numai pentru această sesiune - de exemplu, în managerul de fișiere pentru a stoca în mod convenabil cookie-uri calea de curent la fișierele.
Data și ora trebuie să fie specificate în formularul:
Wdy, DD-luni-AAAA HH: MM: SS GMT
În cazul în care Wdy - zi a săptămânii și luni - luni (în limba engleză reduceri trehbukennyh), DD - ziua a lunii (două cifre), AAAA - an, HH. MM. SS - ore, minute și secunde (2 cifre). În plus, rețineți că data-ora specificată de expirare cookie "Greenwich Mean Time".
domeniu - numele de domeniu pentru care cookie-ul valid. De exemplu, domeniul = yourdomain.com;
Implicit - a emis serverul de nume de domeniu cookie-ul (site-ul).
cale - calea de pe server. Acest seturi de parametri (limitat), zona de pe un server web, care este valabil pentru acest modul cookie. Atunci când caută cookie-uri pentru acest adrese URL-browser-ul și compară șirul de la începutul drumului pe server. De exemplu, dacă domeniul cookie-ar trebui să fie întregul site (din directorul rădăcină și de mai jos), calea trebuie să fie „/“; Dacă acțiunile cookie-uri de domeniu se limitează la dosarul cgi-bin, atunci calea = / cgi-bin /.
Un alt punct - deoarece relevant curent domeniul de aplicare cookie solicitate de resursa browser-ul este determinată de dacă este sau nu startul corespunde calea de curent pe parametrul cookie calea de server, atunci, să zicem, la calea = / perl / zona de cookie-ul este limitat perl dosar de pe server, și atunci când calea de = / perl cookie se va aplica, de asemenea, la toate folderele și fișierele, calea completă, care începe la „/“ Perl. de exemplu, dosare perl_doc. perl_scripts și fișier perl.html. situat în directorul rădăcină.
În cazul în care o cale care nu este specificată, domeniul cookie este un folder pe server, care rulează script-ul, și de mai jos, și anume Calea implicită =
sigure - indică faptul că cookie-ul conține informații sensibile pe care ar trebui să fie transmise numai în cazul în care protocolul HTTPS funcționează. Când este expus la protocolul „normal“ HTTP nu este transmis.
Prelucrarea accepta cookie-uri
Luați în considerare acest exemplu: un forum în care utilizatorul poate ajusta numărul mesajelor afișate pe o pagină, iar ordinea de sortare (de la mai devreme la mai târziu sau vice-versa). Aceste setări sunt salvate script-ul personaliza aspectul de cookie-uri și forum Quan sortare în consecință.
Programator script-uri care folosesc, cookie-urile au, trebuie să se țină cont de faptul că clientul (browser), în general, nu garantează că cookie-ul serverul nou instalat, vor fi acceptate, iar în cazul în care a fost chiar adoptat, - siguranță în timpul serverului data de expirare specificată deoarece:Utilizatorul poate lua - și elimina cookie-uri (clare) de pe computer.
Experimentăm cookie-uri
Acest script nu pretinde să raționalitate și excelență artistică, ca Acesta a fost scris de la sine, „pe genunchi“ în 10 minute. Acesta vă permite să lucrați cu cookie-uri la un nivel scăzut.
Setarea perioadei de valabilitate pentru cookie-uri
Așa cum am scris mai sus, cookie-ul, puteți seta data și ora „efluxul termenul de valabilitate.“ Cu toate acestea, în cele mai multe cazuri (programe afiliate script-uri, etc.), este necesar să se precizeze cu exactitate perioada cookie (deoarece instalarea acestuia), în loc de sfârșitul acțiunii data-timp.
Să presupunem că, în conformitate cu termenii unui anumit program de magazin afiliat online este considerat a fi cumpărător care a venit „prin intermediul unui partener“ în cazul în care el a făcut o achiziție în ultima lună (30 de zile) după prima tranziție către site-ul partener pe site-ul magazinului online.
Deci, atunci când vizitați pentru prima dată o on-line script magazin cont program afiliat trebuie să seteze browser-ul cookie cumpărător care conține ID-ul partenerului pentru o perioadă de 1 lună (ca atunci când fac achiziții ar trebui să verifice, iar valoarea acestui cookie și astfel produs - sau nu - parteneri angajamente).
Prin urmare, acest lucru este script-ul ar trebui să fie în măsură să calculeze ce dată și în ce zi a săptămânii va fi de 30 de zile de acum.
Codul care pune în aplicare această funcție ar putea fi:
Funcționarea corectă a acestui fragment, puteți verifica orice permutare de data și ora, sau o lună :-)
Și, în cele din urmă - cele mai bune urari pentru cei care decid să utilizeze lucrul cu cookie-uri în script-urile dumneavoastră. Acestea se bazează pe experiența de a lucra cu script-uri, cum ar fi un utilizator.
Reputația negativă de cookie-uri este asociat nu numai cu particularitățile acestui mecanism ca alfabetizare folosindu-l în unele script-uri.
1. Nu scrie parole și alte informații sensibile în cookie-uri „cu valabilitate“ (care nu sunt șterse atunci când închideți fereastra browser-ului vizitatorului), fără dorește explicit al utilizatorului. Folosind multe forumuri cookie-uri pentru a stoca detaliile de acces ale utilizatorului este foarte convenabil pentru acesta din urmă (nu este nevoie să introduceți de fiecare dată), dar trebuie să ne amintim faptul că poți lucra pentru altcineva, sau un computer public (de exemplu, un prieten sau Internet-club), așa că este opţiunea predusmatrivanie bună este sub formă de intrare „păsări“ cum ar fi „amintesc numele și parola pe acest computer“ (de preferință nu este activ în mod implicit). De asemenea, este de dorit să se poată șterge (resetare) utilizatorul a instalat cookie-uri. Ușor de utilizat cookie-urilor nu ar trebui să fie realizată în detrimentul compromite securitatea.
2. Dacă utilizați cookie-uri pentru a stoca numele de utilizator, acesta din urmă trebuie încă să fie capabil de a intra sub un alt nume, fără ștergerea cookie-urilor browser-ului :-)
3. În cazul în care script-ul nu poate funcționa în mod corespunzător atunci când cookie-urile sunt dezactivate în browser-ul dvs., este de dorit pentru a avertiza utilizatorul. Puteți verifica, de asemenea activat sau dezactivat, cookie-urile au, prin setarea „control“ un cookie și apoi citit-o, iar dacă acestea sunt dezactivate, emite instrucțiunile corespunzătoare.