/** * 環境変数より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); }
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')); /**
$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']); } } } } }