Різниця між cookie і сесіями
Відео: PHP. Кукі і сесії
Не так давно я писав статтю про те, як зробити реєстрацію та авторизацію користувачів на сайті. І там я написав, що при авторизації треба записати інформацію про це (логін і зашифровані пароль) в cookie, або в сесію. Однак, виникає питання: "Що ж вибрати: cookie або сесії?". У цій статті я збираюся розібрати різницю між сесіями і cookie, щоб Ви остаточно визначилися з вибором.
принципова різниця між cookie і сесіями полягає в тому що cookie повністю зберігаються в браузері користувача (тобто на комп`ютері клієнта), а при сесіях в cookie зберігається тільки ідентифікатор сесії, а вся інформація лежить на сервері в спеціальному унікальному файлі. Саме з цього базового відмінності випливають всі інші.
Відео: Що таке файли cookie
Якщо Ви вирішили зберігати логін і пароль в cookie, то повинні розуміти, що cookie можна вкрасти (багато існує способів, але не буду зараз на них зупинятися), а, отже, отримати логін і, в кращому випадку, зашифровані пароль (а якщо не шифруєте, то і сам пароль). І якщо він зашифрований звичайної md5 (), то його можна розшифрувати за допомогою спеціальних баз, які можна пошукати в Інтернеті. Якщо пароль досить популярний, то його легко розшифрують. Тобто мінус cookie - низька безпека.
другий мінус cookie - це те, що вони живуть рівно стільки, скільки зберігає їх браузер. Чим це може обернутися? Простий приклад.
У Вас серйозний сайт, на якому у людей лежать великі суми грошей (наприклад, як WebMoney). Ваш відвідувач прийшов в яке-небудь Інтернет-кафе, авторизувався, але вийти забув (впевнений, що з кожним з Вас це відбувається регулярно). Далі приходить зловмисник заходить на його аккаунт і забирає cookie. Далі процес очевидний. А якби використовувалися сесії, то за замовчуванням через 15 хвилин бездіяльності користувача відбувався б автоматичний вихід (файл з даними сесіями б стирався). І нічого такого б не сталося. Більш того, з огляду на те, що кожна сесія має унікальний ідентифікатор, то сенс крадіжки ідентифікатора сесії (а більше нічого взяти не вийде) вже відсутня. Коли злоумшиленнік прийде додому, цей ідентифікатор йому вже не допоможе.
Але саме через тимчасового зберігання сесії, з`являється великий мінус сесій - незручно. Припустимо, людина авторизувався, щоб стежити за якимись даними (наприклад, за вхідною поштою), але робить це він приблизно раз в півгодини. І кожен раз він змушений авторізовиваться, що, зрозуміло, незручно.
Відео: Перехоплення cookies, вхід в вк без пароля, програми DroidSniff і DroidSheep
Саме з цієї причини cookie так популярні при роботі з механізмом авторизації.
висновок: Якщо у Вас дуже серйозний сайт, де злодійство облікового запису призведе до великих проблем (будь-який сайт, де у людей зберігаються гроші, або якась дуже цінна особиста інформація), то треба використовувати сесії. Якщо ж у Вас суто інформаційний сайт, де матеріальна і особиста цінність аккаунта прагнуть до нуля - використовуйте cookie, і користувачі Вам скажуть спасибі.
Cookie cats
Вийшов відеокурс "php і mysql з нуля до гуру"
Синій екран смерті 0x000000f7
Як зробити систему рефералів на php
Як визначити часовий пояс
Як очистити куки браузера (cookie)?
Як працювати з сховищами з використанням basil.js.
Як заблокувати користувача на сайті
Як відправити referer через curl
Як включити cookies в яндекс браузері
Як зробити реєстрацію та авторизацію користувачів на сайті
Як зробити сторінку користувача
Статистика відвідувань на php
Відправка cookie через curl
Обробка форми в php
Робота з cookie через jаvascript
Робота з cookie в php
Видалення тимчасових файлів і файлів cookie в браузерах. Очищення дискового кеша
Продовження часу життя сесії в php
Ccleaner: чистимо систему від сміття
Сесії в php
Localstorage. Локальна пам`ять на html5.
Як працювати з сховищами з використанням basil.js.
Cookie cats
Відправка cookie через curl
Як заблокувати користувача на сайті
Як відправити referer через curl
Робота з cookie в php
Як зробити реєстрацію та авторизацію користувачів на сайті
Як включити cookies в яндекс браузері