使用 zend 清理数据

发布于 2024-11-27 07:27:31 字数 236 浏览 3 评论 0原文

我正在尝试编写一个函数来清理来自客户端的数据。 我正在使用 zend 框架,我知道它提供了执行此操作的功能。但我没有使用 zend_form 所以我不知道如何使用这些函数

我希望能够清理来自 sql 注入的数据...然后将它们保存在数据库中或对这些数据进行任何进一步处理。

所以我的问题是,是否有任何函数或库可以做到这一点?
我正在寻找一个函数,它将接受一个字符串作为输入并返回经过净化的字符串。

谢谢

im trying to write a function that will sanitize data coming from the client side.
im using zend framework and i know that it offers functions to do that. but im not using zend_form so i dont know how to use those functions

i wanna be able to sanitize the data from sql injections... before save them in the db or doing any further processing with that data.

so my question is , is there any function out there or a library that can do that ?
im looking for a function that will take as an input a string and return the sanitized one.

thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤独陪着我 2024-12-04 07:27:31

如果您将准备好的语句与 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 只是处理表单处理并使事物易于重用的便捷方法。

If you use prepared statements with PDO, Zend_Db or another ORM then the parameters will be escaped properly so that takes care of sanitizing in most cases.

PDO Example:

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

Before you even get to that step though you should validate the data which is what Zend_Validate is for. You dont have to use Zend_Validate with Zend_Form if you dont want to - you can just create validator instances and then validate different values.

Example from the ZF Documentation:

$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 is just a handy way to handle form processing and make things easily reusable.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文