Ребята, недавно проверял свой форум на XSS и CSRF — в общем, не всё так просто. Самое частое, что заметил — недостаточная фильтрация пользовательского ввода, особенно в комментах и формах профиля. В итоге, если не применять нормальную очистку или экранирование, можно посадить огромную дыру. А CSRF — вообще классика: тонкие места часто в форме смены пароля или в админке, если нет нужного токена.
Вижу, что у многих именно с фильтрацией беда, у меня добавил защиту через Content Security Policy — помогает уменьшить влияние XSS на фронте. По CSRF классно, когда для каждой формы генерится уникальный токен, чтобы запросы точно уверенно подтверждались. Если этого нет, можно легко подставить что угодно через чужие сессии. Главное — не забывать про оба сразу, иначе дырки будут везде.