ホームページ > バックエンド開発 > PHPチュートリアル > ユーザーが PHP バックエンドに直接入力するコード分析を回避する方法

ユーザーが PHP バックエンドに直接入力するコード分析を回避する方法

不言
リリース: 2023-04-01 08:58:02
オリジナル
1433 人が閲覧しました

この記事では、ユーザーが PHP バックグラウンドでメソッド インスタンスを直接入力できないようにする方法を紹介します。必要な方は参考にしてください。

1) BaseController コントローラーを作成し、コントローラーを継承します (バックグラウンドでのすべての操作が必要です)。 BaseController を継承します):

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; 
    }
ログイン後にコピー

コンポーネント ディレクトリに Authority.php ファイルを作成します:

<?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; 
    } 
}
ログイン後にコピー

上記はこの記事の内容全体です。皆さんの学習に役立つことを願っています。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。

関連する推奨事項:

PHP でのファサード パターンの分析について

PHP で smtp を使用して送信する方法サポートされている添付ファイルのメール

以上がユーザーが PHP バックエンドに直接入力するコード分析を回避する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート