0

Oracle 接続で zend:auth アダプターを使用しています。ログイン時にユーザーを認証しようとしています。ユーザーが通常の英数字を入力すると、認証は問題なく行われますが、パスワードがこのようなものである場合 (たとえば) IUCJAC\_、認証の検証は false を返します。

私が試してみました:

  • Zend_View::escape();
  • Zend_DB_Adapter::quote();
  • PHPのaddslashed();

無駄に。

何か案は?

public function authAction()
{
    //Returns encrypted password
    $newpass = new Application_Model_Discoverpw();
    $this->getHelper('viewRenderer')->setNoRender();
    if(!empty($_POST))
    {
        $password =$newpass->encode_password(trim($_POST['password']));
        $slashedPW =  $db->quote($password);
        $formValues = array(
        'email' => $_POST['email'], 'password' => $slashedPW);

        if ($this->_process($formValues)) {

            // We're authenticated! Redirect to the home page
            //echo '{"success":true}';
            $this->_helper->redirector('index', 'sam');

            //$this->_helper->redirector('index', 'index');

        } else {
           throw new Zend_Auth_Exception('Login failed! '. $sql);
            //echo 'oh no!';
        }
    } else {
        //Redirect to login page if no $_POST values found
        $this->_helper->redirector('login', 'userauth');
    }
}
4

0 に答える 0