Ejemplo n.º 1
0
 public function testSfIsHTTPS_環境変数に値が入っていない場合_falseが返る()
 {
     unset($_SERVER['HTTPS']);
     $this->expected = false;
     $this->actual = SC_Utils::sfIsHTTPS();
     $this->verify();
 }
Ejemplo n.º 2
0
 function sfIsSuccess($objSess, $disp_error = true)
 {
     $ret = $objSess->IsSuccess();
     if ($ret != SUCCESS) {
         if ($disp_error) {
             // エラーページの表示
             SC_Utils::sfDispError($ret);
         }
         return false;
     }
     // リファラーチェック(CSRFの暫定的な対策)
     // 「リファラ無」 の場合はスルー
     // 「リファラ有」 かつ 「管理画面からの遷移でない」 場合にエラー画面を表示する
     if (empty($_SERVER['HTTP_REFERER'])) {
         // TODO 警告表示させる?
         // sfErrorHeader('>> referrerが無効になっています。');
     } else {
         $domain = SC_Utils::sfIsHTTPS() ? SSL_URL : SITE_URL;
         $pattern = sprintf('|^%s.*|', $domain);
         $referer = $_SERVER['HTTP_REFERER'];
         // 管理画面から以外の遷移の場合はエラー画面を表示
         if (!preg_match($pattern, $referer)) {
             if ($disp_error) {
                 SC_Utils::sfDispError(INVALID_MOVE_ERRORR);
             }
             return false;
         }
     }
     return true;
 }