Когда сделать санитизацию в CakePHP

Я читал из поваренной книги (секунда. 4.2)

CakePHP уже защищает Вас от Внедрения SQL при использовании методов CakePHP ORM (тех, которые находят () и сохраняют ()) и надлежащая нотация массива (т.е. массив ('поле' => $value)) вместо необработанного SQL. Для санитизации против XSS его обычно лучше, чтобы сохранить необработанный HTML в базе данных без модификации и санировать во время вывода/дисплея.

Таким образом, действительно ли мы уверены, что НИКОГДА не должны вручную санировать пользовательские данные против SQL, если мы ограничиваем методами теми, которые находят () и сохраняют ()? Особенно, действительно ли это верно, если я беру свои данные из $ _POST непосредственно вместо этого, чем от $this-> данные? Другими словами, предположите, что я делаю находку () запрос с помощью $this-> данные. Затем CakePHP санируют против SQL при записи $this-массива> данные или при записи запроса для находки ()?

Мой второй вопрос для очистки данных, которые будут отображены. Санируйте:: идемпотент HTML? Так, я могу использовать его в своем beforeSave () метод, или это повредится во второй раз, когда я сохраняю, потому что это применяется снова и дает новый результат?

8
задан Andrea 30 January 2010 в 14:24
поделиться

1 ответ

WOAH - если вы принимаете ваши данные напрямую от $ _Post, чем , вы должны абсолютно оставлять данные , если вы планируете публиковать данные на любых страницах. Я помню около 2 лет назад Большое напугание, потому что было обнаружено, что простая инъекция SQL позволит использовать торт 1.1 сайты, которые будут эксплуатировать из-за макета выбора запросов, используемых для входа в систему.

Однако многие пользователи намеренно использовали старое правило для полей ввода, которые будут использоваться в SQL:

«для защиты от инъекции SQL, пользовательский ввод не должен быть непосредственно встроен в операторы SQL. Вместо этого пользовательский ввод должен быть сбежен. .... "

Итак, да, это был отдельный вопрос, но та же идея - хотя CakePhp - это босс, и делает много для нас, мы никогда не должны доверять своей безопасности. Воздействие характеристик вычисляющих данных самостоятельно является почти ниль. Так что просто сделайте это.

0
ответ дан 5 December 2019 в 22:18
поделиться
Другие вопросы по тегам:

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