Как обезопасить php скрипт при проверке данных и отправке sql запроса.

Проектирование безопасного php скрипта.

В данной заметке речь пойдет о безопасности при написании скрипта на php в котором мы принимает заданные числовые значения.

Допустим у нас имеется вот такая html форма с выбором пола, с помощью которой мы фильтруем некоторые данные.

<form method="POST" action="">

        <select name="sex">

                <option value=0>Не указывать</option>

                <option value=1>Женский</option>

                <option value=2>Мужской</option>

        </select>

</form>

То есть данные, переданные от пользователя, могут принимать значения от 0 до 2.

После этого мы, например, отправляем запрос на выборку из базы данных следующего вида:

select * FROM table_name WHERE sex = '$sex'

где $sex – это переменная, которую мы приняли от пользователя, но перед этим, мы должны использовать обработку входных данных, чтобы в запросе участвовала переменная, значение которой было бы предопределено нами.

Делаем так:

<?php
        switch ($_POST['sex']) {
                case 0:
                        $sex = 0;
                        break;
                case 1:
                        $sex = 1;
                        break;
                default:
                   $sex = 2;
        }
?>

То есть если передан 0, то переменной $sex присваиваем 0, если 1, то 1, иначе – во всех остальных случаях, независимо от того, что передал нам пользователь – хоть sql запрос – в переменную попадет 2.

Как видите, в любом случает будет безопасным.

На этом все, желаю вам удачи!

Если вам нужна помощь в создании какого-либо функционала, сайта, сервиса, тестов или калькуляторов, то готов помочь, подробнее на странице услуг.