Різниця між 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