PHP Анкета - Сесии или Бисквитки

PHP, MySQL, Javascript, XHTML и др.
Post Reply

$_SESSION || $_COOKIE

$_SESSION
12
50%
$_COOKIE
5
21%
Използвам cookie само за sess_id
3
13%
И двете..
4
17%
 
Total votes: 24

User avatar
NGenchev
Потребител
Потребител
Posts: 335
Joined: 07 Oct 2012, 10:54
Skype: JusT0nLin3_
CS Nick: nGenchev¦™
Favorite version: CS: Global Offensive
Steam Community ID: NGenchev
Location: ♡ ВАРНА ♡ ВЕЛИКО ТЪРНОВО ♡
Contact:

PHP Анкета - Сесии или Бисквитки

Post by NGenchev »

Здравейте драги съфорумници, понеже тук има доста напреднали уеб програмисти, но и начинаещи, реших да пусна тази тема/анкета и да я разгледаме малко по-обстойно. Идеята на сесите и/или бисквитките най-често е свързана с изграждането на системи ,които изискват вход/регистрация или нещо подобно. Те(сесиите и бисквитките) най-често съхраняват инфорация като никнейм, (рядко парола, ) кредити/точки, мнения и други, но като цяло всякаква такава информация относно потребителите в някой сайт/форум. Съществените разлики между двете средства е в това къде се съхраняват, времето за съхранение и информацията ,която могат да съхранят. Сесиите се съхраняват на сървърната част, като по този начин се водят с една идея по-защитени, за разлика от бисквитките ,които се съхраняват в браузъра на клиента (затова ви излизат постоянно тези съобщения да "примете" общите правила на сайтовете, защото използват вашият браузър). Втората разлика е в задаването на времетраене - при сесиите такова няма, затворили се браузърът сесията заминава, докато бисквитките имат определено/зададено времетраене, независимо от това дали затваряш браузъра, затова и по-често се използват те. И третата много важна разлика е, че бисквитките имат ограничено място (4кб) и могат да съдържат САМО символни низове и цифри(числа), докато сесиите поддържат съхранение и на ОБЕКТИ, без ограничения.

За мен лично други съществени разлики няма, и след като обясних накратко за какво става въпрос, ще се радвам да чуя и вашите мнения по въпроса "Вие кое от двете средства за връзка с потребителите към сайта си предпочитате и ЗАЩО?".

Например аз използвам главно сесии, заради сигурността и логиката, която ми предоставят, макар че с времетраенето си имам проблеми, но винаги намирам начин :D
User avatar
hackera457
Потребител
Потребител
Posts: 124
Joined: 19 Feb 2011, 11:20
CS Nick: hackera_vd
Favorite version: CS: 1.6
Location: Видин

Re: PHP Анкета - Сесии или Бисквитки

Post by hackera457 »

Ползвай бисквитки, аз тях ти препоръчвам. Със сесии ако е ще ти е трудно да запазваш някаква информация.

Ако ползваш бисквитка - ще се пази дотогава, докато не я премахнеш, ако си със сесия при затваряне в браузера - сесията отпада
User avatar
Zloqd
Потребител
Потребител
Posts: 15
Joined: 13 Jan 2016, 18:50

Re: PHP Анкета - Сесии или Бисквитки

Post by Zloqd »

hackera457 wrote:Ползвай бисквитки, аз тях ти препоръчвам. Със сесии ако е ще ти е трудно да запазваш някаква информация.

Ако ползваш бисквитка - ще се пази дотогава, докато не я премахнеш, ако си със сесия при затваряне в браузера - сесията отпада
Грешка.
Сесията се пази до тогава, докато PHPSESSID е зададен. PHPSESSID е бисквитката на сесията.
http://stackoverflow.com/questions/1370 ... -phpsessid


Сесиите са по-добър вариант, бисквитките са иди-дойди и се ползват за по-маловажните неща. Всяко си има приложение.
Не може едни регистрации на потребителите да ги управляваш с бисквитки. Трябват сесии.
User avatar
DieWildenKraken
Потребител
Потребител
Posts: 106
Joined: 14 Jan 2008, 20:00
Skype: ahmed01_medi01
CS Nick: DieWildenKraken
Favorite version: CS: Global Offensive
Steam Community ID: stoqn97771
Location: София

Re: PHP Анкета - Сесии или Бисквитки

Post by DieWildenKraken »

@Zloqd наистина и PHPSESSID е вид хубава, кръгла бисквитка, но тя има различни стойности при всяко ново пускане на браузъра.
Иначе и за мене е по-добре да се ползват бисквитки.
User avatar
Zloqd
Потребител
Потребител
Posts: 15
Joined: 13 Jan 2016, 18:50

Re: PHP Анкета - Сесии или Бисквитки

Post by Zloqd »

DieWildenKraken wrote:@Zloqd наистина и PHPSESSID е вид хубава, кръгла бисквитка, но тя има различни стойности при всяко ново пускане на браузъра.
Иначе и за мене е по-добре да се ползват бисквитки.

ОК :)
Last edited by kreedztanky on 09 Apr 2016, 20:06, edited 1 time in total.
Reason: т.5 - Безсмислен коментар/спам!
User avatar
dvdty_
LoL Player
LoL Player
Posts: 955
Joined: 12 Jul 2011, 13:53
Skype: dvdty_
CS Nick: DvDty
Favorite version: CS: Global Offensive
Steam Community ID: dvdty
Location: EU NE/West

Re: PHP Анкета - Сесии или Бисквитки

Post by dvdty_ »

Много зависи за какво е насочена системата. Ако потребителя има възможност само да пише коментари например, няма проблем да се направи с бисквитки, но ако имам някакви разплащания и лична информация в акаунтите, предпочитам да дам възможност на потребителите дали искат да използват бисквитки.
User avatar
1b0x
Потребител
Потребител
Posts: 5
Joined: 08 Jan 2012, 18:22

Re: PHP Анкета - Сесии или Бисквитки

Post by 1b0x »

Разликата на сесиите и бисквитките
Основната разлика на сесиите и бисквитките е, че бисквитките се съхраняват в браузъра на потребителя, а сесиите, както казаха по-горе, на "сървърната част".

Проблемът със сесиите е, че когато затворим браузъра, сесията се "губи"/отпада.
-- Ако един човек има потребителско име и парола, ще е добра идея, да е бисквитка.. Ако е сесия.. при затваряне на браузъра, информацията ще се губи. Явно.. след това, този човек от ново трябва да се логне и от ново да съхраняване информацията в сесия. Няма логика.

Проблемът с бисквитките е, че потребителят може да ги блокира/забрани или изтрива по всяко време.
-- Да речем, имате сайт... онлайн магазин. Потребителят добавил, каквото трябва да поръчва, в количката/кошницата. Обаче, той решава да ги поръчва след час-два.
Добра идея е, да се съхраняват продуктите, които потребителят е добавил в кошницата в/на бисквитка. Но, ако потребителят, случайно е забранил бисквитките или ги изтрил...? Какво правим.. Еми всичко, което беше в количката.. няма да са там вече. Той от ново трябва да добави, каквото трябва да поръчва, в количката/кошницата.


Къде може да използвате сесиите?
- Аз използвам след вход на потребителя. Създавам една сесия с име, примерно 'is_logged', със стойност 'false' || '0'. Ако потребителят е въвел данните, правилни данни - все пак, на сесията с име is_logged, аз ще му подам стойност 'true' || '1'. После - просто проверявам, ако стойността на сесията е 'true' - значи, потребителят се е логнал - както трябва.

Аз препоръчвам да използвате и 2-те
- Сесиите са малко по защитен вариант.
- Бисквитките живеят по-дълго/повече, докато имат зададено времетраене.


"Свържете", "Обединявайте" - така да се каже и 2-те. Но винаги гледайте да не губите информация. Рано или късно, може да ви потрябва!
User avatar
dvdty_
LoL Player
LoL Player
Posts: 955
Joined: 12 Jul 2011, 13:53
Skype: dvdty_
CS Nick: DvDty
Favorite version: CS: Global Offensive
Steam Community ID: dvdty
Location: EU NE/West

Re: PHP Анкета - Сесии или Бисквитки

Post by dvdty_ »

1b0x wrote:Къде може да използвате сесиите?
- Аз използвам след вход на потребителя. Създавам една сесия с име, примерно 'is_logged', със стойност 'false' || '0'. Ако потребителят е въвел данните, правилни данни - все пак, на сесията с име is_logged, аз ще му подам стойност 'true' || '1'. После - просто проверявам, ако стойността на сесията е 'true' - значи, потребителят се е логнал - както трябва.
По този начин, няма ли възможност, просто да се създаде такава бисквитка и не регистриран потребител на сайта да използва функции предвидени само за логнати потребители?
User avatar
1b0x
Потребител
Потребител
Posts: 5
Joined: 08 Jan 2012, 18:22

Re: PHP Анкета - Сесии или Бисквитки

Post by 1b0x »

dvdty_ wrote:
1b0x wrote:Къде може да използвате сесиите?
- Аз използвам след вход на потребителя. Създавам една сесия с име, примерно 'is_logged', със стойност 'false' || '0'. Ако потребителят е въвел данните, правилни данни - все пак, на сесията с име is_logged, аз ще му подам стойност 'true' || '1'. После - просто проверявам, ако стойността на сесията е 'true' - значи, потребителят се е логнал - както трябва.
По този начин, няма ли възможност, просто да се създаде такава бисквитка и не регистриран потребител на сайта да използва функции предвидени само за логнати потребители?
Това е един прост пример. Много ясно, че може. Представи си login/register system и едно меню. Докато стойността на сесията is_logged е false (0), аз в това меню ще покажа/визуализирам връзка към 'вход в системата' или 'регистрация'. Но... Ако стойността е true (1), аз (най-вероятно) ще покажа информация на потребителя.

Примерно:
Име: 1b0x | Мнения: 50 - Ако стойността е true
Вход | Регистрация - Ако стойността е false

Айде още един пример, къде може да използвате сесиите
- Представете си, че имате админ панел... много ясно и вход система за админ панела и една сесия с име 'is_admin' и със стойност false (0). Ако данните за вход са следните:
Потребителско име: 1b0x
Парола: 123456

и следователно ако е въвел правилните данни, ще променя стойността на сесията да е true (1). Така потребителят ще има достъп до админ панела. В тази ситуация, няма смисъл регистриран потребител или нерегистриран потребител да използва админ панела. Само администратора, който знае данните за вход.


Last bumped by NGenchev on 30 May 2016, 07:19.
Post Reply

Return to “Уеб програмиране”