Важный:
Сначала несколько важных советов по безопасности, которые вы должны иметь в виду:
Ваши вопросы:
Поскольку это приложение REST, мне придется использовать файлы cookie для управления сеансом... верно?
использование сеансов было бы самым безопасным (лучшим), но, конечно, существует гораздо больше решений для управления сеансами а>. Но если вы используете только файлы cookie (без php $_SESSION
), вам, конечно, следует зашифровать файл cookie. Но я бы посоветовал вам просто использовать $_SESSION.
Какие значения я храню в файлах cookie?
Вы ничего не сохраняете в файлах cookie. $_SESSION
создает уникальный файл cookie (автоматически => вам не нужно об этом думать). Все, что вы помещаете в $_SESSION
, хранится на сервере, поэтому пользователь не может это прочитать. Вы можете хранить любую информацию, которую хотите хранить в сеансе, но имейте в виду, что лучше НИКОГДА не хранить конфиденциальные данные (пин-коды, кредитные карты, пароли и т. д.) в вашем приложении. Я уже упоминал, что ваш $_SESSION хранится на сервере, но файл cookie, который имеет уникальный идентификатор, соответствующий сеансу, хранящемуся на диске (или в базе данных), может быть угадал(подделал).
Как подтвердить сеанс?
Вы проверяете сеанс, проверяя информацию, хранящуюся внутри сеанса. Я предполагаю, что вы храните не менее $_SESSION['id'] = $openid->identity;
внутри сеанса. Имейте в виду, что после того, как пользователь войдет на ваш сайт с помощью openid, вы должны перегенерировать ваш сеанс (идентификатор), чтобы предотвратить фиксацию сеанса.
Как выйти из системы?
вы просто вызываете session_destroy, и все данные, хранящиеся внутри сеанса, будут удалены .
Я надеюсь, что это объяснило все ваши вопросы.
PS:
Сеанс в банке с файлами cookie дает вам общее представление о сеансах (хотя я не вижу его упомянуть фиксацию сеанса :$).
person
Alfred
schedule
01.02.2011