очистить данные с помощью Zend - PullRequest
0 голосов
/ 30 июля 2011

Я пытаюсь написать функцию, которая будет очищать данные, поступающие со стороны клиента. Я использую Zend Framework, и я знаю, что он предлагает функции для этого. но я не использую zend_form, поэтому я не знаю, как использовать эти функции

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

поэтому мой вопрос, есть ли какая-нибудь функция или библиотека, которая может это сделать?
Я ищу функцию, которая примет в качестве входных данных строку и вернет очищенную.

спасибо

1 Ответ

2 голосов
/ 30 июля 2011

Если вы используете подготовленные операторы с PDO, Zend_Db или другим ORM, тогда параметры будут экранированы должным образом, так что в большинстве случаев он будет заботиться о дезинфекции.

PDO Пример:

$pdo = new PDO($dsn, $username, $password);
$pdo->prepare("INSERT INTO some_table (col1, col2, col3) VALUES (?,?,?)");
$pdo->execute(array($valueCol1, $valueCol2, $valueCol3));

Прежде чем вы даже доберетесь до этого шага, вы должны проверить данные, для чего Zend_Validate.Вам не нужно использовать Zend_Validate с Zend_Form, если вы этого не хотите - вы можете просто создать экземпляры валидатора и затем проверить различные значения.

Пример из документации ZF:

$validator = new Zend_Validate_EmailAddress();

if ($validator->isValid($email)) {
    // email appears to be valid
} else {
    // email is invalid; print the reasons
    foreach ($validator->getMessages() as $messageId => $message) {
        echo "Validation failure '$messageId': $message\n";
    }
} 

Zend_Form простоудобный способ обработки форм и упрощения повторного использования.

...