OpenID, подключение к Facebook, вход в Twitter
Я бы посоветовал вам не делать правильной (читайте ниже информацию о cookie-файлах) вашей собственной системы входа в систему, потому что кодирование защищенной системы затруднительно (хранить пароль безопасно - ТРУДНО). Это также экономит кучу кода. Например, когда вы входите в мой пример openid с помощью Google, вы можете указать Google запомнить вас на 30 дней. Код, использованный для моего примера, можно найти по адресу my github page .
Http_only
Вы должны использовать файлы cookie только для http , чтобы защитить себя от кражи файлов cookie (старайтесь не использовать файлы cookie из javascript). Функция php setcookie также имеет флаг http-only . Для сессии вы можете достичь этого, используя что-то вроде:
<?php
ini_set("session.cookie_httponly", 1);
// or
session_set_cookie_params(0, NULL, NULL, NULL, TRUE);
?>
Не хранить данные внутри cookie
Также вы должны хранить как можно меньше информации внутри файлов cookie. Получить данные из базы данных (сеанс). Я думаю, что вы легко выполняете cookie-файлы Rememberme, устанавливая срок действия ваших сессий так, как вам нравится, но не слишком высоко, если вы спросите меня.
Интересное чтиво
Это также довольно интересное чтение для улучшения безопасности сеанса: http://web.archive.org/web/20120417214604/http://segfaultlabs.com/files/pdf/php-session-security.pdf