Как защитить сессии и куки?

Я просмотрел много видеокурсов по написание собственного каркаса, и по ИБ читал книги на англ и рус. Как именно и от чего защищаться я так и не понял Примеры банальные слишком код примитивен, суть не раскрыта. Как будто это строжайшая тайна и мало где найдёшь best practic В самописах рассматривается xss, sql ingection, password hash всё) Вот на хабре про csrf всё по полкам разложили. Из понравившихся курсов отмечу Почему эти темы не раскрыты?

Kevin Scotland Creating Secure PHP Websites используется mcrypt он уже или будет удалён из php
David Powers Managing PHP Persistent Sessions SessionHandler используется

Если подскажите от чего и как защищаться то возможно у меня получится написать Чутьё подсказывает что нужно использовать Sodium и

SessionHandler  implements SessionHandlerInterface , SessionIdInterface{

/* Методы */

public close( void) : bool

public create_sid( void) : string

public destroy( string $session_id) : bool

public gc( int $maxlifetime) : int

public open( string $save_path, string $session_name) : bool

public read( string $session_id) : string

public write( string $session_id, string $session_data) : bool
}


Куки хранятся в браузере если не указать ssl?
Сессии на сервере ну почему у меня PHPSESSID в браузере? Время жизни пока не закрыт браузер Может ли сес ид передаваться по url?

Непонятно что смотреть это этичный хакинг, ИБ, безопасность веб приложений это какая ветка? У нас всё панятно beck-end)

Угон фиксация сессий

Советы из видео

Помещать не самые важные данные
Использовать SSL чтобы js не получил доступ
Старые браузеры не понимают http only
setcookie правильно задать path, domain
зашифровать и подписать

Не принимать id сессии из других мест кроме куки
Использовать https
Использовать защищённые куки
настроить php.ini
заново генерировать id сессии сразу после авторизации
регулярно удалять старые сессии отслеживать последнюю активность или авторизацию
сравнить ip адрес пользователя с тем что пользователь использовал в прошлый раз если ip адреса из одной сети например учебное заведение?
проверить user agent хоть он и может быть подделан для защиты в глубину

Помогите плиз 2 год бьюсь(

Библиотека Sodium в php недавно по каким критериям выбрать криптографическую функцию?
  • Вопрос задан
  • 206 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
Куки хранятся в браузере если не указать ssl?
Куки храняться в браузере, что-бы вы не указывали.

Сессии на сервере ну почему у меня PHPSESSID в браузере?
Сессии храняться на стороне сервера. PHPSESSID - Эту кука, в которой записан идентификатор сессии SESSion IDentifier (кстати, ее можно переименовать как угодно).

Время жизни пока не закрыт браузер
Если включена опция "при запуске восстанавливать вкладки", то кука не удалится. И плагины некоторые это умеют.

Может ли сес ид передаваться по url?
Может.

Советы в целом норм, кроме совета про ip. Пришел домой, подключился к wi-fi, ip сменился, и пора логиниться заново?

Помогите плиз 2 год бьюсь(
Удивительно, что за два года вы даже не прочитали что такое сессии и как хранить пароли.

А sodium - это вообще криптография, а не хеширование.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы