Вопрос

Должен ли я использовать mysql_real_escape_string() функция в моих запросах MySQL для $_SESSION переменные?Теоретически $_SESSION переменные не могут быть изменены конечным пользователем, в отличие от $_GET или $_POST переменные, верно?

Спасибо :)

Это было полезно?

Решение

Независимо от того, может ли пользователь изменять данные, вы, вероятно, все равно захотите экранировать их на случай, если вам когда-нибудь понадобятся данные, содержащие символы, которые могут нарушить SQL (кавычки и т. д.).

А еще лучше — используйте связанные параметры, и вам не придется об этом беспокоиться.

Другие советы

Не экранируйте/цитируйте/кодируйте текст, пока не дойдете до того места, где он вам нужен.Внутренние представления должны быть максимально «сырыми».

Вы можете ответить на этот вопрос самостоятельно, следуя следующей цепочке рассуждений:

Было ли значение в $_SESSION получено пользователем?

Если да, то было ли оно уже продезинфицировано?

Теоретически переменные $_SESSION не могут быть изменены конечным пользователем.

Нет, но данные откуда-то должны были взяться.

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

С.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top