@therealvetalhidden

Фильтрация входных данных, хочу уточнить, как лучше?

Например у меня в коде есть такая строка $req = $_SERVER['REQUEST_URI']; переменная только в коде, в бд не записывается. Вопрос нужно как-то фильтровать такого рода входные данные как $_SERVER['REQUEST_URI'], которые в бд не записываются а только нужны в коде? Если не фильтровать такие входные данные, то есть ли какая нибудь угроза безопасности?
  • Вопрос задан
  • 2415 просмотров
Решения вопроса 3
@Sali_cat
Что бы не парится, создай 1н способ фильтрации и пропускай через него.
Очищай полученные данные от скриптов и опасных символов, задавай ограничение на кол-во символов. Так-то про это можно долго писать + есть сетевые атаки и подделка .. кое как спасет токен и двух сторонние ключи.
Ответ написан
nazarpc
@nazarpc
Open Source enthusiast
Кратко - да.
Долго - зависит от использования. Если на основании значения вы динамически подключаете файлы, или выводите значение на страницу - то да, если же проверяете, например, регуляркой на наличие там какой-то подстроки, то можно и не проверять.
Фильтровать нужно всё, что участвует в выводе на страницу, ну и эскейпить строки при вставке в БД.
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Нужно фильтровать перед использованием. И фильтровать нужно всегда. Вопрос только как используются данные.

Для БД - prepared statements решают проблему фильтрации целиком и полностью
Для eval/exec нужно уже придумывать как фильтровать, проще вообще не использовать переменные полученные от пользователя для eval/exec.
Для фильтрации от XSS нужно чистить при выводе переменной.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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