Пример #1
0
 /**
  * 環境変数よりURLパラメータを取得する
  * 
  * @param string $agentAlias BcRequest.agentAliasの値
  * @param string $url URL
  * @param string $expect 期待値
  * @param string $message テスト失敗時に表示するメッセージ
  * @dataProvider getUrlParamFromEnvDataProvider
  */
 public function testGetUrlParamFromEnv($agentAlias, $url, $expect, $message = null)
 {
     Configure::write('BcRequest.agentAlias', $agentAlias);
     $_GET['url'] = $url;
     $result = getUrlParamFromEnv();
     $this->assertEquals($expect, $result, $message);
 }
Пример #2
0
if (preg_match($assetRegex, $uri) || preg_match($assetRegexTheme, $uri)) {
    Configure::write('BcRequest.asset', true);
    return;
}
/**
 * セッション設定
 */
if (BC_INSTALLED) {
    require APP . 'Config' . DS . 'session.php';
}
/**
 * パラメーター取得
 */
$url = getUrlFromEnv();
// 環境変数からパラメータを取得
$parameter = getUrlParamFromEnv();
Configure::write('BcRequest.pureUrl', $parameter);
// ※ requestActionに対応する為、routes.php で上書きされる
if (BC_INSTALLED) {
    /**
     * tmpフォルダ確認
     */
    checkTmpFolders();
    /**
     * Configures default file logging options
     */
    App::uses('CakeLog', 'Log');
    CakeLog::config('debug', array('engine' => 'FileLog', 'types' => array('notice', 'info', 'debug'), 'file' => 'debug'));
    CakeLog::config('error', array('engine' => 'FileLog', 'types' => array('warning', 'error', 'critical', 'alert', 'emergency'), 'file' => 'error'));
    CakeLog::config('update', array('engine' => 'FileLog', 'types' => array('update'), 'file' => 'update'));
    /**
Пример #3
0
$IpLimitterConfig = ClassRegistry::init('IpLimitter.IpLimitterConfig');
$datas = $IpLimitterConfig->findExpanded();
if ($datas) {
    if (empty($datas['allowed_ip'])) {
        return;
    }
    $allowedIp = preg_quote($datas['allowed_ip']);
    $patterns = str_replace("\\*", '.+?', $allowedIp);
    $patterns = explode(',', $patterns);
    foreach ($patterns as $pattern) {
        if (preg_match('/' . $pattern . '/', getClientIp())) {
            return;
        }
    }
    if (empty($datas['limit_folders'])) {
        header("HTTP/1.0 404 Not Found");
    } else {
        $limitFolders = explode(',', $datas['limit_folders']);
        $folder = explode('/', getUrlParamFromEnv());
        if (!empty($folder[0])) {
            $folder = $folder[0];
            if (in_array($folder, $limitFolders)) {
                if (empty($datas['redirect_url'])) {
                    header("HTTP/1.0 404 Not Found");
                } else {
                    header("Location: " . $datas['redirect_url']);
                }
            }
        }
    }
}