1. Минимальний размер - 32 бит, оптимально 72 бит 2. Привязка к операции (на каждое действие - свой токен) 3. Создан криптографически стойкой функцией 4. Должен иметь ограничение по времени действия 5. Привязка к пользователю (например к user_id) 6. Revoke токена, если он привязан к userid, а не сессии, в случае потери доступа к аккаунту (те злоумышенник может скомпроментировать токен после получения доступа к аккаунту, а после потери доступа к нему, эксплуатировать CSRF против юзера) 7. Рекомендуется привязка к параметрам запроса, если они не заданы явно, для избежания parameter tampering
2. Привязка к операции (на каждое действие - свой токен)
3. Создан криптографически стойкой функцией
4. Должен иметь ограничение по времени действия
5. Привязка к пользователю (например к user_id)
6. Revoke токена, если он привязан к userid, а не сессии, в случае потери доступа к аккаунту (те злоумышенник может скомпроментировать токен после получения доступа к аккаунту, а после потери доступа к нему, эксплуатировать CSRF против юзера)
7. Рекомендуется привязка к параметрам запроса, если они не заданы явно, для избежания parameter tampering
Дискас, предлагаем свое. ББРТ