0

Yii では、コントローラーのアクションにアクセスする URL を「http」のみに制限する方法を見つけています。コードを配列の「式」属性に配置できるように、Yii の方法で URL を取得する方法を考えています。

4

2 に答える 2

1

ベースコントローラーにフィルターメソッドを書くことができます ( components/Controller.php):

public function filterOnlyHttp($filterChain = null) {
    if (Yii::app()->request->isSecureConnection) {
        $this->redirect('http://'.$_SERVER['HTTP_HOST'].Yii::app()->request->requestUri);
    }else
        $filterChain->run();
}

リクエストにリダイレクトhttps://http://ます。filters()コントローラーのメソッドで、特定のコントローラー アクションに対してこのフィルターを構成できます。

public function filters() 
{
    return array(
        'httpOnly',
    );
}

通常、すべてのリクエストをリダイレクトする必要がある場合は、上記を (部分を除いて)のベース コントローラーのメソッドにhttps入れることもできます。ifelseinit()components/Controller.php

于 2013-04-03T07:43:21.477 に答える
-1

defaultScheme/validSchemes を試す

array('url', 'url','defaultScheme' => 'http')

array('url', 'url','validSchemes' => array('http'));

詳細については、これを確認してくださいhttp://www.yiiframework.com/wiki/56/#hh23

于 2013-04-03T07:39:58.610 に答える