@mega-sinyak

Эффективна ли такая защита от POST-запросов cURL?

Кнопка:
<form action="/start" method="post">
    <button class="btn btn-sm btn-block btn-warning" name="start">Начать игру</button>
</form>

Вставляем при нажатии кнопки ТУПО значение SID:
$(function () {
    $('button').click(function () {
        $(this).val(/SESS\w*ID=([^;]+)/i.test(document.cookie) ? RegExp.$1 : false);
    });
});

На момент нажатия на кнопку, она приобретает вид:
<form action="/start" method="post">
    <button class="btn btn-sm btn-block btn-warning" name="start" value"ТУТ_ЗНАЧЕНИЕ_SID">Начать игру</button>
</form>

Метод отлова:
public static function formButton($name)
{
    if (filter_input(INPUT_POST, $name) == session_id()) { // сравниваем отправленный SID с текущим
        session_regenerate_id(); // генерим новый SID после каждой отправки POST-запроса
        return true;
    }
    return false;
}

Ловим:
if (Helper::formButton('start')) {// если нажата кнопка start и SID соответствует текущему
    # какой-то код
}


Теперь вопрос:
Возможно ли по cURL СНАЧАЛА получить SID и потом вставить его значение для отправки POST-запроса этого же cURL?

p.s. вроде не сильно запутанно написал
  • Вопрос задан
  • 185 просмотров
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Да, возможно
Нет, совсем неэффективна
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@mega-sinyak Автор вопроса
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы