2
    function update_page($page_id, $page_title, $page_content, $seo_title, $seo_keywords, $seo_desc) {

    $pagedata = array('page_title' => $page_title,
                      'page_content' => $page_content,
                      'seo_title' => $seo_title,
                      'seo_keywords' => $seo_keywords,
                      'seo_desc' => $seo_desc);             
    $this-> dbo -> update('zp_mobile_page', $pagedata, 'page_id = '.$page_id);
    $return_message = "Page Updated!";
    return $return_message;

}

嗨,我正在使用 Zend DB,我阅读了这个关于 Zend 的论坛,但我仍然不知道 zend 的更新插入选择是否可以防止 sql 注入,或者我是否需要再次清理它们。

任何人都可以用外行的方式指导我吗?

4

1 回答 1

1

请参阅@Nemanja 的评论,但除非您在$page_id其他地方手动逃逸,否则注射并不是真正安全的。

您需要使用quoteInto来保护数据:

 $this->dbo->update('zp_mobile_page',
                    $pagedata,
                    $this->dbo
                         ->getAdapter()
                         ->quoteInto('page_id = ?', $page_id));

您还可以使用Zend_Db_Adapter::quote()转义单个值。

于 2012-07-12T16:54:45.263 回答