Чтобы предотвратить CSRF-атаку, должен ли я отправлять md5-хэш моего session_id () в скрытое поле через форму? ему будет достаточно?
Спасибо
Я не могу комментировать прямо сейчас. Вы должны предоставить примеры кода или что-то. Ваш вопрос действительно общий, и если вы действительно любите быть в безопасности от атак, вам следует подумать о том, чтобы иметь какую-то «модельную» защиту, например:
»…
1. Аутентификация (при запросе)
2. Проверка заголовка
3. Ввод-вывод записи времени на диск (или что-то еще)
4. Первый токен, обычно отправляемый GET (querystring), и это хэш SHA1 или SHA512 для sessionID пользователя
5. Второй токен, отправленный POST (форма), и это крипта aes256 хэша с SHA1 или SHA512 (зависит от того, насколько быстрым должен быть запрос) от sessionID пользователя, плюс дополнительная информация, такая как datetime и другие (зашифрованные только с aes256 и пакетом со всеми запросами)
6. Эти два токена должны совпадать с исходным ID сессии пользователя, а дополнительная информация расшифровывается
7. Маркер отметки времени должен совпадать с отметкой времени, сохраненной на диске (или чем-либо еще)
…»
каждый пользовательский случай отличается, я написал это из своего блога здесь: https://blog.myetv.tv/2017/09/18/writing-secure-code-how-myetv-do-crypt-auth-transfer-and-store-informations/
Надеюсь, поможет 😉
Других решений пока нет …