0

最近我收到一封电子邮件,声称他可以通过 sql 注入更改我的管理员密码。这是我的代码。它是使用 Yii php 框架开发的。任何人都可以看到缺陷吗?

    public function actionLogin()
{

    $model=new LoginForm;

    // if it is ajax validation request
    if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
    {
        echo CActiveForm::validate($model);
        Yii::app()->end();
    }

    // collect user input data
    if(isset($_POST['LoginForm']))
    {
        $model->attributes=$_POST['LoginForm'];
        // validate user input and redirect to the previous page if valid
        if($model->validate() && $model->login())
            $this->redirect(Yii::app()->user->returnUrl);
    }
    // display the login form
    $this->render('login',array('model'=>$model));
}
4

1 回答 1

2

在创建 sql 查询的每个地方,都必须将所有外部变量与 sql 变量绑定,这将消除 sql 注入的可能性。

于 2012-04-16T05:19:09.620 回答