Я пытался использовать метод ключа формы для csrf protection
здесь http://net.tutsplus.com/tutorials/php/secure-your-forms-with-form-keys/. Но он применяется только к одной форме на странице. Мой вопросЗащита от csrf
Пусть у меня есть форма
<form action="action.php" method="post">
<!-- code here -->
</form>
и мой PHP Я использую
<?php
if(isset($_POST['submit']) && isset($_SESSION['user']))
{
//do something
}
Я уже использую session user
для подтверждения он вошел в систему и и форма представленный моим сайтом, поскольку сессия была сделана на моем сайте. Должен ли я использовать метод защиты csrf?
Предположим, что я использую метод session, где я генерирую ключ формы и отправляю ключ на php, где он проверяется. Теперь проблема в том, что одна и та же страница открывается в двух вкладках, и я обновляю новую страницу и закрываю ее. 'Изменена переменная sesion'. Теперь, когда я отправлю форму на первой вкладке. Он всегда будет давать ошибку. Иногда пользователь делает это, открывая одну страницу на 2 вкладках. Есть ли другой безопасный метод защиты csrf? – Ace
@ user2894116 - Создайте токен при создании сеанса, а не каждый раз, когда форма загружена. – Quentin
@ Жаркие извинения !! , Этот метод ajax требует много кода, поскольку у меня на моей странице много форм. Есть ли другой способ с меньшим кодом и одинаковой безопасностью? – Ace