Краткий ответ
Хотя ZF принимает и предоставляет некоторые меры для защиты вашего приложения, вы все равно должны применять те же меры предосторожности, которые вы использовали бы без Zend Framework.
Что касается вашего кода, ознакомьтесь с главой по Zend_Db в Справочном руководстве :
По умолчанию значения в вашем массиве данных вставляются с использованием параметров. Это снижает риск некоторых типов проблем безопасности. Вам не нужно применять экранирование или кавычки к значениям в массиве данных.
Это не значит, что вам не нужно беспокоиться о безопасности. Например, для метода обновления выше
Третий аргумент - это строка, содержащая выражение SQL, которое используется в качестве критерия для изменения строк. Значения и идентификаторы в этом аргументе не заключаются в кавычки и не экранируются. Вы несете ответственность за безопасное интерполирование любого динамического содержимого в эту строку. См. Цитирование значений и идентификаторов для методов, которые помогут вам сделать это.
Примечание , поскольку вы используете Zend_Db_Table
, очевидно, третий аргумент является вторым аргументом. Внутри экземпляр таблицы будет делегировать вызов адаптеру БД, причем первым параметром будет имя таблицы экземпляра таблицы.
Относительно векторов атаки Zend_View и XSS:
Zend_View поставляется с начальным набором вспомогательных классов, большинство из которых относятся к генерации элементов формы и выполняют соответствующие выходные данные автоматически.
Опять , большинство из которых не означает все. Zend_View
предоставляет Zend_View :: escape () , чтобы помочь вам очистить вывод, но в этом нет ничего особенного.