ми будемо використовувати два методи для захисту від CSRF атак ваших GET і POST запитів.
перший метод полягає у використанні випадкового ключа при кожному запиті, це унікальна рядок, що генерується для кожної сесії. Ми генеруємо ключ, а потім включаємо його в кожну форму у вигляді прихованого поля. Далі, система перевіряє валідність форми, порівнюючи ключ і значення, що зберігається в сесійної змінної користувача. Тобто, якщо зловмисник захоче згенерувати запит, він повинен буде знати значення ключа.
другий метод-це використання випадкових назв для кожного поля форми. Значення випадкового імені для кожного поля зберігається в сесійній змінній і після того, як форма відправлена (стався сабміт), система генерує нові випадкові назви полів. Тобто, якщо зловмисник захоче зробити атаку, йому потрібно буде знати ці випадкові назви полів форми.
наприклад, запит, який раніше виглядав ось так:
буде виглядати ось так: