Как обезопасить запрос $ _GET и весь сайт - PullRequest
0 голосов
/ 08 октября 2018

У меня есть функция с именем _check_input.Любые функции _GET, которые я вызываю, всегда анализируются в моей функции _check_input.Достаточно ли этого, чтобы иметь полностью защищенный файл .php, чтобы меня не взломали?

function _check_input($string) {

    if (!preg_match("/^[A-Za-z0-9]+$/", $string)) {
        echo "ERROR";
        exit();
    } else {
        return htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
    }
}
$input = _check_input($_GET['input']);

Все, что делает моя программа, это вводит файл против файла .json, который я использую file_get_contents.Он проходит по .json, пока не найдет совпадение.Получив совпадение, он переходит к определенному значению в .json и выводит его на печать.

PS: я новый программист

1 Ответ

0 голосов
/ 08 октября 2018

В соответствии с вашими комментариями я собираюсь добавить более подробную информацию

  • Да!это хорошо, но убедитесь, что вы должны использовать PDO с bind parameters (это хорошо только для строки запроса GET)

Для безопасности всего сайта этого недостаточно.Вы также должны сосредоточиться на Session Hijacking, Cross Site Scripting, Files (загружаемых пользователями)

Вот пример PDO с параметрами связывания (Подробнее см. Руководство по PDO )

$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();

Вот очень полезные сведения о угоне сеанса

Для Межсайтовый скриптинг

Для безопасного доступа к загружать файлы

Наконец-то!всегда хакер может найти способ взломать сайт.(это мое мнение и исследования)

...