Oldalakon, általam elhelyezett adathalászat, vagy adathalász cookie nincs.
COOKIE müködésének tesztelésére, használjuk a következő linkeket.
Alapismeretek a Php COOKIE, azaz sütiről.
Első belépéskor, nincs értékelhető adat (érték), mivel ekkor jön létre a cookie.
Mi az a COOKIE?
Hétköznapi:
Egy kis édes sütemény, általában kerek, lapos, és ropogós.
Finomabb kombinációja, krémes hab és ropogós csokis süti.
Számítástechnikai:
Egy csomag által küldött adat, internetes szerveren, egy böngészőhöz.
Minden egyes alkalommal, amikor a böngésző visszatér a létrehozással azonos szerverre, hozzáférünk és felhasználhatjuk a felhasználó azonosítására, vagy nyomon követni szerverhez való hozzáférését.
"Néhány kiszolgáló cookie-k segítségével követi nyomon, felhasználók tevékenységét, és néhány használja őket, hogy kideritse felhasználó személyazonosságát."
A cookie egy adathordozó fantázianeve, mely a háttérben fut, és mindenki tetszésének megfelelő ékezet nélküli karakterekkel is helyettesíthet. (Pl.: CSOKI)
Létrehozásához, kétféle függvényt alkalmazunk: setcookie() függvényt vagy setrawcookie() függvényt.
A fantázianévvel létrehozott cookie nevét és adatát, a $_COOKIE tömb tárolja.
Lekérdezésnél úgy járunk el, mint a normál tömböknél $_COOKIE["fantázianév"]
Ha elküldjük a cookie-t, értéke automatikusan URL-be lesz kódolva, (és automatikusan dekódolódik, amikor visszakapjuk.)
Ha nem akarjuk, hogy automatikusan URL-be legyen kódolva, akkor a setrawcookie () függvényt kel használni.
- A setcookie () függvény, cookie változót küld, egy HTTP ügyfélnek. Siker esetén TRUE, egyébként FALSE az értéke.
- A cookie változót az előtt kell létrehozni, mielőtt minden más html kimenetet küldünk az ügyfélnek.
- A cookie általában egy kis szöveges fájl, amelyet a szerver beágyaz a felhasználó számítógépén.
A felhasználó saját internet böngészőjében letilthatja vagy engedélyezheti a cookie-k telepítését számítógépére.
- A cookie változót maga a webszerver hozza létre a böngésző segítségével a felhasználó gépén, ahol azok egy elkülönített könyvtárban kerülnek tárolásra.
Az előre meghatározott cookie határidők lejárta előtt, a felhasználó törölheti őket
- Minden alkalommal, amikor ugyanaz a számítógép kér egy oldalt a böngészőben, akkor küldje el a cookie értéket is.
- A cookie változók önmagukban nem tudják megállapítani, hogy adott számítógépet, milyen nemű és nevű felhasználó kezeli. Ezért, csak a látogató által kezelt számítógép felismerésére alkalmasak, felhasználó azonosítására nem képesek.
- Számos jogi és etikai kérdést vet fel az internetes cookie-k alkalmazása, ugyanis személyes adatnak tekintendő, mivel a szélesebb körben ismertnél (IP cím), pontosabb azonosítására ad lehetoséget, a felhasználóról.
Bővebben a COOKIE adatvédelmi témakörben olvashatunk.
COOKIE (süti) létrehozása.
Program fájl elején hozzuk létre, mert nem előzheti meg, html kimenet.
Meghívjuk a setcookie( ) vagy setrawcookie( ) függvényt, melyekben a következő adatokat adhatjuk meg, vesszővel elválasztva, és a következő sorrendben:
- COOKIE neve (name). Kötelező megadni!
- Tetszőleges általunk meghatározott ékezet nélküli egyedi cookie azonosító, újabb cookie ezzel a névvel nem rendelkezhet.
- COOKIE értéke (value), milyen adatot tároljon. Kötelező megadni!
- COOKIE lejárati ideje (expire). A cookie mennyi ideig tárolódjon, azaz legyen érvényes. Nem kötelező megadni, üresen is hagyhatjuk!
- Itt használhatjuk a time() függvényt, mellyel lekérdezhetjük a pillanatnyi időt és ehhez hozzáadva írjuk, hogy meddig szeretnénk életben tartani a sütit.
- Ez a paraméter nincs beállítva, a cookie lejár, ha vége a munkamenetnek. (Ha a böngésző, bezárul).
- COOKIE elérési útja (path) a szerveren. Nem kötelező megadni, üresen is hagyhatjuk!
- Ha nem határozzuk meg, akkor az alapértelmezett útvonal, az aktuális könyvtár, melyben a cookie-t létrehoztuk.
- Ha így határozzuk meg, "/" akkor a cookie elérhető lesz, minden mappánkban megtalálható php fájlunkban.
- Ha így határozzuk meg, "/ teszt /" , a cookie csak a teszt nevű könyvtárban és minden teszt nevű alkönyvtárában lesz elérhető.
- COOKIE tartomány neve (domain név). Nem kötelező megadni, üresen is hagyhatjuk!
- Mely tartomány lesz jogosult, a süti fogadására, pl.: www.ezenoldalam.hu.
- Ha azt szeretnénk, hogy csak a létrehozó férjen hozzá, használjuk ezt a meghatározást: $_SERVER['SERVER_NAME'].
- Ahhoz, hogy a cookie rendelkezésre álljon minden aldomainnál a sajatom.com címen, akkor így állítsuk be. "sajatom.com".
- COOKIE kapcsolati biztonság (secure). Nem kötelező megadni, üresen is hagyhatjuk!
- Meghatározhatjuk, hogy a cookie csak akkor legyen továbbítható, ha biztonságos a HTTPS kapcsolat.
- Az alapértelmezett érték FALSE (hamis).
- Ha értéke TRUE (igaz), cookie-t csak akkor lehet beállítani, ha létezik a biztonságos kapcsolat.
- Ha értéke = 0-val, a nem biztonságos kapcsolat is engedélyezett.
Példák a cookie, azaz, sütik létrehozására, törlésére:
- COOKIE változót létrehozhatunk úgy is, hogy a nevén kívül nem határozunk meg semmit.
Ebben az esetben, egy későbbi alkalommal, vagy egy adott esemény bekövetkezését követően kapja meg, a szükséges értékeket.
- setcookie("fekete_rigo");
- Kezdésnek ajánlott minimun ennyi meghatározás. (név, érték)
- setcookie("fekete_rigo", "Jól tud fütyülni");
- Lejárati idő meghatározással. (név, érték, időbélyeg)
- setcookie("fekete_rigo", "Jól tud fütyülni", time()+60);
- Teljes meghatározása. (név, érték, lejárati idő, elérhetőségének címe, nem biztonságos kapcsolat engedélyezése)
- setcookie("felhasznalo", "Zsuzsika", time()+60, "/", "http://www.weboldalam.hu", 0);
- Csak a létrehozó férjen hozzá, akkor így:
- $tartomany=$_SERVER['SERVER_NAME'];
setcookie("felhasznalo", "Zsuzsika", time()+60, "/", "$tartomany", 0);
- A sütinek valami értelme is legyen, nem előre bevitt adatokkal kell a sütit megtölteni. (Pédául: Űrlapról érkező adattal. A $nev változónak adandó értéket kell, egy form segítségével elküldeni a sütinek.)
-
$nev=$_POST['latogato_neve'];
setcookie("felhasznalo", $nev, time()+60);
- A session beiktatásával, egy felhasználó nyomon követésére is használhatjuk, amíg adott webhelyen böngészik.
-
setcookie("session_id", "12345", 0);
A session olyan süti, ami csak addig él, amíg a böngésző meg van nyitva.
Ezt a sütit, 0 élettartamra történő beállításával érhetjük el.
- Süti törlése. Sütinek új értéket, azaz, üres értéket adunk, lejárt dátummal:
-
setcookie("felhasználó", "", time()-60,"/", "$tartomany", 0);
Hivatlan COOKIE váltózókat a böngésző ablakából kereshetjük vissza, és törölhetjük.
Példa Mozilla Firefox böngészőben:
Eszközök
- Beállítások
- Adatvédelem (eltávolítani az egyes sütiket)
- Süti neve alapján is kereshetünk süti által tárolt adatot, és törölhetjük.
COOKIE változót létrehozhatunk úgy is, hogy a nevén kívül nem határozunk meg semmit.
Ebben az esetben, egy későbbi alkalommal, vagy egy adott esemény bekövetkezését követően kapja meg, a szükséges értékeket.
COOKIE változók lekérdezése.
Olyan COOKIE változók lekérdezése, melyek nem léteznek, azaz, még nem jöttek létre,
a következő lekérdezési formátumban, hibát eredményeznek.
<?php echo $_COOKIE [ "neve" ]; ?>
Hibajelzés elkerülése:
Minden COOKIE változó lekérdezése előtt, meg kell győződni annak létezéséről, és ha létezik, akkor kérdezhetjük le, vagy felhasználhatjuk további műveletekre.
Hibajelzés elkerülésére egy kivétel van, ha a print_r( ); függvénnyel kérdezzük le.
Ebben az esetben, csak létezésükről győződhetünk meg, de további műveletek elvégzésére, nem alkalmas.
<?php
echo'<pre>';
print_r($_COOKIE);
echo'</pre>';
?>
Szabályos lekérdezések, melyekkel nem csak kiíratást, de további műveleteket is végezhetünk:
<?php if(isset( $_COOKIE [ "elso" ])) {
echo $_COOKIE [ "elso" ];}
echo '<br />' ;
if(isset( $_COOKIE [ "masodik" ])){
echo $_COOKIE [ "masodik" ]; }
echo '<br />' ;
if(isset( $_COOKIE [ "harmadik" ])){
echo $_COOKIE [ "harmadik" ]; }
?>
Állítsuk be a sütiket, egyszerű array tömb formátumba.
Példa:
<?Php
// COOKIE változók létrehozása előtt, nem lehet html kimenet.
setcookie("tanulo01[Kodja]","243c325f");
setcookie("tanulo01[TeljesNeve]","Mester Cookie");
setcookie("tanulo01[cime]","Cookie Süti ú 31");
setcookie("tanulo01[Type]","Programozó");
//Lekérdezés a fájlban, tetszőleges helyen lehetséges.
// (html elemek között elhelyezett php szkriptben is.)
// COOKIE változók lekérdezése.
if (isset ($_COOKIE ['tanulo01']))
{
foreach ($_COOKIE ['tanulo01'] as $kulcs => $ertek)
{
echo '01.Tanuló '.$kulcs.': '.$ertek.'<br />';
}
}
?>
Lekérdezés eredménye:
01.Tanuló Kodja: 243c325f
01.Tanuló TeljesNeve: Mester Cookie
01.Tanuló cime: Cookie Süti ú 31
01.Tanuló Type: Programozó
Összefoglaló.
Mit tudunk a cookie változó létrehozásáról?
- A cookie változót az előtt kell létrehozni, mielőtt minden más <html> kimenetet kezdeményeznénk.
- Létrehozásához, kétféle függvényt alkalmazunk: setcookie() függvényt vagy setrawcookie() függvényt.
- Mindegy, melyik függvénnyel hozzuk létre, a $_COOKIE szuperglobális tömb tárolja.
- A cookie változót a fájl tetszőleges területén, akár a <html> jelölőelemek között elhelyezett szkriptben is, lekérdezhetjük.
- Létrehozásakor, a cookie (süti) nevén kívül, semmi más paramétert sem kötelező, megadni.
- A cookie létrehozható egyszerű változóként, vagy tömb formátumban is.
- Cookie változók a domain-hez kötödnek, és kizárólag saját tartalmuk tekintetében képesek, adatok továbbítására.
- Cookie változók visszatérési értéke, a létrehozásuk helyén, vagy az előre meghatározott területeken kérdezhető le.
- Nem határozunk meg cookie változónak lejárati időt, a munkamenet végén, vagy ha a böngészőt bezártuk, ideje lejárt.
- A felhasználó saját internet böngészőjében letilthatja vagy engedélyezheti a cookie-k telepítését számítógépére.
- Szintaxisa: setcookie(name,value,expire,path,domain,secure)
- name: A cookie egyedi azonosítója, azaz, a neve. (Például: 'fekete_rigo' vagy 'felhasznalo' vagy sorszámozzuk 'A01' 'A02' stb.)
- value: A cookie-ben tárolandó érték. (Pédául: Szó vagy szöveg=Jól tud fütyülni. Vagy számok, időpontok= 1814-04-23)
Értéke, a name, azaz, neve alapján (Például: 'fekete_rigo') érhető el, így: $_COOKIE ['fekete_rigo'] vagy $HTTP_COOKIE_VARS ['fekete_rigo'].
- expire: A cookie lejárati ideje, melyet időbélyeg formátumban határozunk meg.
Használjuk a time() függvényt, mellyel lekérdezhetjük a pillanatnyi időt és ehhez hozzáadva írjuk, hogy meddig szeretnénk életben tartani a sütit.
Példák a cookie lejárati idejére:
1 perc = time()+60
30 nap = time () 3600 * 24 * 30
Ha ez a paraméter nincs beállítva, a cookie lejár, ha vége a munkamenetnek (ha a böngésző bezárul).
- path: Azon mappa/fájl útvonala, mely az elérhetőség helyét jeleníti meg.
Ha "/"-t határozunk meg, akkor a megadott webhely, minden oldalán elérhető a sütink.
Ha az értéke "/ test /", akkor a cookie csak a teszt könyvtárban, és minden teszt alkönyvtárában lesz elérhető.
Alapértelmezett értéke, az aktuális könyvtár, melyben a cookie-t létrehozták.
- domain: A cookie mely domain névvel jelölt területen legyen aktív, azaz,
mely tartomány lesz jogosult a süti fogadására.
Például:
Webhely cím esetén így: www.valami.hu.
Csak a létrehozó férjen hozzá, akkor így: $_SERVER['SERVER_NAME'].
- secure: Egy egész szám.
Azt mutatja, hogy a süti milyen kapcsolaton keresztül közlekedhet.
Ha 0-val jelöljük, akkor a nem biztonságos kapcsolatot is engedélyezett. meghatároznunk.
Parameter | Leírás. |
name | Kötelező meghatározni. Megadja a cookie nevét. A név, értelemszerűen a használt cookie neve, például "felhasználó". |
value | Kötelező meghatározni. Megadja a cookie értékét. Az érték, ennek a nevű cookie-nak az értéke, például "Valaki", de általában egy kis szöveges fájl. |
expire | Nem kötelező meghatározni. Meghatározza a cookie lejárati idejét.
Az időbélyeg azt mondja meg, hogy a cookie mennyi ideig tárolódjon, azaz legyen érvényes.
Itt használhatjuk a time() függvényt, mellyel lekérdezhetjük a pillanatnyi időt és ehhez hozzáadva írjuk, hogy meddig szeretnénk életben tartani a sütit.
Például: time()+60 ez 1 percet fog eredményezni.
A cookie lejárati edejét 30 napra állítja: time()+3600*24*30
Ha ez a paraméter nincs beállítva, a cookie lejár, amint vége a munkamenetnek (ha a böngésző bezárul). |
path | Nem kötelező meghatározni. Megadja a szerver elérési útját, ahol a cookie felhasználható.
Ha az értéke "/" A cookie elérhető lesz a saját webhelyünkön, vagy a megadott webhely egész területén.
Ha az értéke "/ teszt /", a cookie elérhető minden teszt nevű könyvtárban és minden teszt nevű alkönyvtárban.
Alapértelmezett érték, azon aktuális könyvtárra mutat, melyben a cookie-t létrehoztuk. |
domain | Nem kötelező meghatározni. Megadja a cookie domain nevét.
Megmutatja, hogy mely tartomány lesz jogosult a süti fogadására, például www.weboldalam_címe.hu.
Ha azt szeretnénk, hogy csak a létrehozó SERVER férjen hozzá, használjuk ezt: $_SERVER['SERVER_NAME'].
A cookie rendelkezésre álljon a bemutato.com minden aldomainjánál, akkor így állítsuk be: "bemutato.com". |
secure | Nem kötelező meghatározni. Meghatározza, hogy a cookie csak akkor továbbítható, ha biztonságos a HTTPS kapcsolat.
Az egész szám azt mutatja, hogy a süti milyen kapcsolaton keresztül közlekedhet.
0-val, a nem biztonságos kapcsolat is engedélyezett.
TRUE azt jelzi, hogy a cookie-t csak akkor lehet beállítani, ha biztonságos kapcsolat létezik.
Alapértelmezett beállítás FALSE (HAMIS). |