PHP: Verificați dacă cookie-urile sunt activate în browser-ul clientului
Despre cookie-uri ("cookies") și scopul lor nu voi scrie nimic, informații despre acest subiect foarte mult. dar întrebarea din titlu, desigur, nu este nouă, dar întotdeauna actuală.
În Internet există atât opțiuni rezonabile, cât și incomplete și delirante. Să scriem un mic script testcookie.php. pe care vom încerca să o facem "universal".
senasovaya și cookie-urile obișnuite din IE8
Apoi, pagina este reîncărcată cu pasul parametru = 1 trecut la ea. Acest lucru se datorează faptului că serverul trimite inițial cookie-ul clientului ca parte a răspunsului HTTP, atunci clientul, dacă este gata să accepte cookie-ul, îl returnează pe server.
Prin urmare, pentru a verifica dacă această întoarcere a reușit, trebuie să așteptați următoarea solicitare HTTP.
Pentru a distinge cea de-a doua intrare de la prima, se folosește condiția pentru prezența variabilei $ _GET ['step'].
Aici este, acest scenariu.
Din păcate, într-un număr de browsere g **** care nu respectă standarde, de exemplu, în aceeași "Opera" 11.50, dezactivarea cookie-urilor va însemna și dezactivarea sesiunilor. Deci, în acest caz, va da ceva ca o redirecționare ciclică.
În IE8, de exemplu, totul va funcționa corect (setările Cookie din acesta sunt următoarele: meniul Instrumente, Opțiuni Internet, fila Confidențialitate, butonul Avansat).
În general, dacă știți o modalitate de a în condiții de siguranță și compatibilitate cross-browser Acest înșelător - a scrie :) Dar, în practică, desigur, cel mai simplu mod de a proceda din faptul că 99% dintre utilizatorii nimic despre dezactivarea cookie-urilor nu știu și nu-i lasa sa taie.