Різниця між cookie і сесіями

Різниця між cookie і сесіями

Відео: PHP. Кукі і сесії

Не так давно я писав статтю про те, як зробити реєстрацію та авторизацію користувачів на сайті. І там я написав, що при авторизації треба записати інформацію про це (логін і зашифровані пароль) в cookie, або в сесію. Однак, виникає питання: "Що ж вибрати: cookie або сесії?". У цій статті я збираюся розібрати різницю між сесіями і cookie, щоб Ви остаточно визначилися з вибором.

принципова різниця між cookie і сесіями полягає в тому що cookie повністю зберігаються в браузері користувача (тобто на комп`ютері клієнта), а при сесіях в cookie зберігається тільки ідентифікатор сесії, а вся інформація лежить на сервері в спеціальному унікальному файлі. Саме з цього базового відмінності випливають всі інші.

Відео: Що таке файли cookie

Якщо Ви вирішили зберігати логін і пароль в cookie, то повинні розуміти, що cookie можна вкрасти (багато існує способів, але не буду зараз на них зупинятися), а, отже, отримати логін і, в кращому випадку, зашифровані пароль (а якщо не шифруєте, то і сам пароль). І якщо він зашифрований звичайної md5 (), то його можна розшифрувати за допомогою спеціальних баз, які можна пошукати в Інтернеті. Якщо пароль досить популярний, то його легко розшифрують. Тобто мінус cookie - низька безпека.




другий мінус cookie - це те, що вони живуть рівно стільки, скільки зберігає їх браузер. Чим це може обернутися? Простий приклад.




У Вас серйозний сайт, на якому у людей лежать великі суми грошей (наприклад, як WebMoney). Ваш відвідувач прийшов в яке-небудь Інтернет-кафе, авторизувався, але вийти забув (впевнений, що з кожним з Вас це відбувається регулярно). Далі приходить зловмисник заходить на його аккаунт і забирає cookie. Далі процес очевидний. А якби використовувалися сесії, то за замовчуванням через 15 хвилин бездіяльності користувача відбувався б автоматичний вихід (файл з даними сесіями б стирався). І нічого такого б не сталося. Більш того, з огляду на те, що кожна сесія має унікальний ідентифікатор, то сенс крадіжки ідентифікатора сесії (а більше нічого взяти не вийде) вже відсутня. Коли злоумшиленнік прийде додому, цей ідентифікатор йому вже не допоможе.

Але саме через тимчасового зберігання сесії, з`являється великий мінус сесій - незручно. Припустимо, людина авторизувався, щоб стежити за якимись даними (наприклад, за вхідною поштою), але робить це він приблизно раз в півгодини. І кожен раз він змушений авторізовиваться, що, зрозуміло, незручно.

Відео: Перехоплення cookies, вхід в вк без пароля, програми DroidSniff і DroidSheep

Саме з цієї причини cookie так популярні при роботі з механізмом авторизації.

висновок: Якщо у Вас дуже серйозний сайт, де злодійство облікового запису призведе до великих проблем (будь-який сайт, де у людей зберігаються гроші, або якась дуже цінна особиста інформація), то треба використовувати сесії. Якщо ж у Вас суто інформаційний сайт, де матеріальна і особиста цінність аккаунта прагнуть до нуля - використовуйте cookie, і користувачі Вам скажуть спасибі.

Поділися в соціальних мережах:

Схожі
Localstorage. Локальна пам`ять на html5.Localstorage. Локальна пам`ять на html5.
Як працювати з сховищами з використанням basil.js.Як працювати з сховищами з використанням basil.js.
Cookie catsCookie cats
Відправка cookie через curlВідправка cookie через curl
Як заблокувати користувача на сайтіЯк заблокувати користувача на сайті
Як відправити referer через curlЯк відправити referer через curl
Робота з cookie в phpРобота з cookie в php
Синій екран смерті 0x000000f7Синій екран смерті 0x000000f7
Як зробити реєстрацію та авторизацію користувачів на сайтіЯк зробити реєстрацію та авторизацію користувачів на сайті
Як включити cookies в яндекс браузеріЯк включити cookies в яндекс браузері
» » Різниця між cookie і сесіями