Помогни ни да направим Uroci.net по - богат! Добави урок

PHP - част 14 (Cookie)

PHP » PHP
fix3d   трудност:    видян: 9750



Област на действие на cookie

Както вече знаете, cookie са двойка име-стойност. Освен името и стойността има още няколко параметъра, които ви дават по-голям контрол над тях. Например, можете да контролирате периода от време, през които cookie се счита за валидни. Освен това можете да контролирате типа на информацията и параметрите на сигурността, които ще поддържа. С други думи, тези параметри дефинират областа на действие на cookie.

Параметрите определящи областта на действие на cookie са :

Дата на валидност: Този параметър дефинира валидността и времетраенето на cookie. Датата се задава в GMT формат. След като една cookie премине датата си на валидност, тя не може вече да бъде изпращана на клиента.

Стойността по подразбиране на този параметър е докато браузъра се затвори. Това означава, че cookie е валидна само докато страницата е отворена в прозореца на браузъра. В момента, когато потребителя затвори страницата, cookie става неизползваема.

Път: Този параметър се използва за да се ограничи областта на действие на cookie до определена част от сървъра. С други думи, този параметър задава всички файлове и директории на Web сървъра, за които cookie е валидна.

Стойността по подразбиране на този параметър е /, което означава, че cookie ще е достъпна до всички страници,

Домейн: Този параметър се използва за да се зададе домейна, за който е валидна cookie. Сookies могат да бъдат ограничени до определен хост, като се зададе името на хоста, например www4u.search.bg. Сookies могат да се направят валидни за цял домейн, като се зададе като стойност името на домейна, например .search.bg.

Стойността по подразбиране на параметъра домейн е името на сървъра, който е създал cookie на диска на клиента. Тази стойност се генерира автоматично.

Сигурност: Този параметър подсигурява, че конфиденциалните данни, съхранени в cookie, ще са защитени по време на предаването от Web сървъра към клиентската машина. Чрез активирането на този метод се използва подсигурен канал, например Secure Hypertext Transfer Protocol ( SHTTP ), за обмяна на cookie.

По подразбиране параметъра сигурност има стойност disabled. При това всички данни и cookie се обменят при комуникацията, без значение, дали каналът е подсигурен или не.

Трябва да запомните, че името и стойността на cookie са задължителни при тяхната дефиниция. Останалите параметри, дата на валидност, домейн, сигурност и път – са незадължителни.


Ограничения при използването на cookie

Тъй като cookie могат да съдържат поверителна информация, като потребителско име и парола, има определени ограничения при използването им. Тези ограничения са:

Максимален размер на cookie е 4 KB. Това е така, защото cookie се съхранява на диска на потребителя. Ако размерът на ж е голям е възможно cookie от различните сайтове, които потребителя посещава да запълнят диска му.

Един сървър не може да съхранява повече от 20 cookie на клиентския компютър. Това е отново застраховка, че Web сървъра няма да запълни диска на потребителя.

Браузърът на клиента може да съхранява максимум 300 cookieс.

Само Web сървър, който е изпратил cookie, може да чете данните, съхранени в нея. Въпреки, че всички cookie са съхранени в една и съща папка, един Web сървър не може да прочете cookies, които са създадени на друг Web сървър или домейн

Реализиране не cookie чрез PHP
Реализацията на cookie в PHP е много проста. Това е, защото поддръжката им е напълно вградена в PHP. Например cookie се разглеждат като глобални променливи и са достъпни навсякъде в скрипта. Също така, те са достъпни и като обикновени променливи. В тази секция ще се запознаете с различни аспекти на използването на cookie. Тези аспекти са:

Създаване на cookie

Използване на cookie

Използване на cookie с множество стойности

Изтриване на cookie

Създаване на cookie
За да създадете cookie, трябва да използвате следните три функции:

setcookie()

time()

mktime()


Функцията setcookie()

Можете да използвате cookie в PHP, като използвате функцията setcookie(). Web сървърът използва тази функция, за да създаде cookie и да я изпрати към клиентската машина.

Ако използвате функцията setcookie() за да създадете cookie, ще трябва да я извикате преди етикета <html> и <head>. В противен случай ще получите съобщение за грешка. Това е така, защото cookie трябва да бъдат изпратени преди HTTP заглавието по време на връзката. Логиката в това е, че cookie се изпращат като част от HTTP заглавието. Така че не могат да бъдат зададени, след като заглавието е вече изпратено.

Функцията има следния синтаксис:

setcookie ( string име, string стойност, int валидност, string път, string домейн, int сигурност );

Както виждате от горния синтаксис, функцията setcookie() приема шест параметъра. Те са:

Име: Този аргумент задава името на променливата, която ще съдържа съответната стойност в двойката име-стойност. Това е глобална променлива. Като резултат, тази променлива е достъпна в следващите скриптове на PHP

Стойност: Този аргумент автоматично задава стойността на променливата, зададена от аргумента име.

Валидност: Този аргумент задава времето, след което cookie ще се разглежда като неизползваемо. Стойността на този аргумент се задава в Гринуичко време. Както споменах по-рано, ако не се зададе стойност на този параметър, една cookie се счита за валидна, докато прозореца на браузъра на клиента е отворен. При затваряне на прозореца на браузъра cookie става невалидно.

Път: Този аргумент, както разбрахте по-рано, задава йерархията на файлове и директории на Web сървъра, за които важи cookie. Стойността по подразбиране на този аргумент е /. В резултат на това, ако не зададете стойност на параметъра път на функцията setcookie(), cookie се счита за валидна на всички файлове и директории на Web сървъра. Но ако зададете път, cookie ще е валидно само за тези файлове и поддиректории, които се намират в зададената директория.

Домейн: Този аргумент се използва за задаване на името на хоста или домейна, за които cookie е валидна. Ако не се зададе стойност на този аргумент, хостът, който е създал cookie, се счита за стойност по подразбиране на аргумента.

Сигурност: Този аргумент определя, дали cookie ще се предава по подсигурен канал. Ако не е зададена стойност за този аргумент, се използва обикновен канал за предаване на cookies. Но ако стойността на този аргумент е 1, cookie се предават с помоща на портокола HTTPS, който реализира сигурността на транзакцията в Интернет.

Всички аргументи с изключение име на функцията setcookie() са незадължителни. Освен параметрите валидност и сигурност, които са целочислени, всички други аргументи могат да се предадът чрез задаване на „“ ( празен низ ). За да пропуснете аргумента валидност и сигурност, задайте стойност 0.

За да създадем cookie, ще трябва да използваме още две функции – time() и mktime().


Страници: «1 2 3 4 »

Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com