как предотвратить взлом с помощью метода POST - PullRequest
2 голосов
/ 03 февраля 2011

У меня есть скрипт, который использует переменную $ _POST для хранения в базе данных.

Некоторые пользователи пытаются обмануть систему, создав собственный метод отправки сообщений или используя curl для отправки переменной и значения записи на сервер.

Как я могу предотвратить эту атаку?

Спасибо

Ответы [ 4 ]

4 голосов
/ 03 февраля 2011

Предотвращение невозможно (безопасность POST является мифом об упрощении). Вы должны проверить входящие данные различными методами:

  • Маркеры CSRF помогают против ботов, отправляющих произвольную форму (но не против подделки вручную)
  • перечислить ожидаемые значения формы, заявить (), что все присутствуют и никакие посторонние поля не отображаются
  • санировать и фильтровать по ожидаемым значениям. Я использую $_POST->text->in_array("field", "abc,def,xyz") например
0 голосов
/ 03 февраля 2011

Вы можете убедиться в том, что POST создан из вашей формы с помощью капчаной защиты, или Вы можете очистить каждую переменную $ _POST и отклонить все данные POST, если они не удовлетворяют критериям.

0 голосов
/ 03 февраля 2011

Эта атака имеет название «SQL инъекция».Это не так сложно защитить от этого.Просто используйте magic_quotes, если ваше значение является строкой, и используйте фильтр ведьма, который пропускает только числа, если ваше значение - число.

0 голосов
/ 03 февраля 2011

Невозможно остановить людей, делающих произвольные HTTP-запросы.

То, как вы защищаетесь, зависит от содержания запроса и причины его атаки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...