Maison  >  Article  >  développement back-end  >  Comment éviter l'analyse de code que les utilisateurs saisissent directement dans le backend PHP

Comment éviter l'analyse de code que les utilisateurs saisissent directement dans le backend PHP

不言
不言original
2018-06-15 10:43:421411parcourir

Cet article présente comment le backend PHP empêche les utilisateurs de saisir directement les instances de méthode. Les amis dans le besoin peuvent s'y référer

1) Créez un contrôleur BaseController et héritez du Controller (toutes les opérations dans le backend doivent hériter du contrôleur). BaseController):

Ajoutez BaseController :

public function checkLogin() { 

        if (Yii::app()->authority->isLogin() == Yii::app()->authority->getStatus('NOTLOGIN')) { 
            $url = $this->createUrl('user/login'); 
            if (Yii::app()->request->isPostRequest && Yii::app()->request->isAjaxRequest) { 
                echo json_encode(array('code' => -101, 'message' => '用户未登录。', 'callback' => 'window.location="' . $url . '";')); 
            } else if (Yii::app()->request->isAjaxRequest) { 
                echo &#39;<script language="javascript">window.location="&#39; . $url . &#39;";</script>&#39;; 
            } else { 
                $this->redirect($url); 
            } 
            exit; 
        } 
        return true; 
    }

Créez le fichier Authority.php dans le répertoire des composants :

<?php 

/** 
 * 权限检查组件 
 */
class Authority extends CComponent { 
    private $NOTLOGIN = -1; 
    private $FAILED = -2; 
    private $PASS = 1; 

    public function init() { 

    } 

    /** 
     * 检查是否登陆 
     * @return boolean  
     */
    function isLogin() { 
        return isset(Yii::app()->session[&#39;user&#39;]) ? $this->PASS : $this->NOTLOGIN; 
    } 

   
    /** 
     * 获取状态值 
     * @param string $name 
     * @return int  
     */
    public function getStatus($name){ 
        return $this->$name; 
    } 
}

Ce qui précède est tout le contenu de ce article, j'espère que vous pourrez en tirer des leçons. Utile, veuillez faire attention au site Web PHP chinois pour plus de contenu connexe !

Recommandations associées :

À propos de l'analyse du motif de façade en PHP

Comment utiliser smtp en php pour envoyer du support pièces jointes E-mail

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn