Как фильтровать и проверять пользовательский ввод в Zend Framework

на моем веб-сайте есть раздел комментариев. Я хочу отфильтровать и проверить ввод, прежде чем сохранить его в моей базе данных. Если на входе есть недопустимые символы, пользователь получает уведомление о том, что его данные недействительны.

Мой вопрос, какие символы не разрешены? например, я хочу избежать инъекций sql

Теги не допускаются. Как это проверить?

1
задан Artjom Zabelin 29 August 2010 в 07:36
поделиться

1 ответ

Если вы используете Zend_Db и параметризованные запросы (например: $adapter->insert($tableName, array('param' => 'value'))), тогда он автоматически удалит все для вас.

Если же вы хотите дополнительно проверить вводимые пользователем данные, взгляните на Zend_Validate и Zend_Filter

Кроме того, если под "тегами" вы подразумеваете HTML-теги, я бы не стал этого делать. что-нибудь для тех, что на входе, но убедитесь, что вы правильно экранируете/удаляете их на выходе (посмотрите на htmlspecialchars())

Если вы хотите отобразить сообщение об ошибке, если ввод содержит теги HTML, и предполагая, что $comment является телом комментария, вы можете попробовать:

if(strip_tags($comment) !== $comment) {
    // It seems it contained some html tags
}
2
ответ дан 2 September 2019 в 21:44
поделиться
Другие вопросы по тегам:

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