0

当我将记录插入数据库时​​,我得到了反斜杠,我想知道在哪里放置 stripslashes 函数来处理它们。

这就是绑定它们的原因。

$st->bindValue( ":content", $this->content, PDO::PARAM_STR );

这是另一个存储所有参数并解析和存储日期的函数,因此我认为它可能能够对字符串执行相同的操作。

public function storeFormValues ( $params ) {

    // Store all the parameters
    $this->__construct( $params );

    // Parse and store the publication date
    if ( isset($params['publicationDate']) ) {
        $publicationDate = explode ( '-', $params['publicationDate'] );

        if ( count($publicationDate) == 3 ) {
            list ( $y, $m, $d ) = $publicationDate;
            $this->publicationDate = mktime ( 0, 0, 0, $m, $d, $y );
        }
    }
    if(get_magic_quotes_gpc()) {
       $content = stripslashes($content);
    }
}

我无法在 php.ini 中关闭魔术引号,因为我使用的是 yahoo 网络托管(不是我的选择)

4

1 回答 1

3

您可以在不编辑 php.ini 的情况下关闭魔法报价 gpc。您可以使用以下代码将其关闭。

<?php
if (get_magic_quotes_gpc()) {
    $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
    while (list($key, $val) = each($process)) {
        foreach ($val as $k => $v) {
            unset($process[$key][$k]);
            if (is_array($v)) {
                $process[$key][stripslashes($k)] = $v;
                $process[] = &$process[$key][stripslashes($k)];
            } else {
                $process[$key][stripslashes($k)] = stripslashes($v);
            }
        }
    }
    unset($process);
}
?>

来源:php.net/manual/en/security.magicquotes.disabling.php

于 2013-07-25T14:04:30.567 回答