CakePHPでリクエストチェック

http://book.cakephp.org/ja/view/174/Request-Handling


やっぱりコンポーネントがありました


Hostチェックの情報は(日本語サイトでは)ないのですが、getReferrer()で取れるそうです
RequestHandlerコンポーネントのgetReferrerについて[CakePHP] YARETOKO「ヤレトコ」メインブログ

↑の参考サイトでツッコミはいってますが、
 リファラとはちょっと違うような*1

紹介されてる真refererの内容
cake/libs/controller/controller.php

/**
 * Returns the referring URL for this request.
 *
 * @param string $default Default URL to use if HTTP_REFERER cannot be read from headers
 * @param boolean $local If true, restrict referring URLs to local server
 * @return string Referring URL
 * @access public
 * @link http://book.cakephp.org/view/430/referer
 */
	function referer($default = null, $local = false) {
		$ref = env('HTTP_REFERER');
		if (!empty($ref) && defined('FULL_BASE_URL')) {
			$base = FULL_BASE_URL . $this->webroot;
			if (strpos($ref, $base) === 0) {
				$return =  substr($ref, strlen($base));
				if ($return[0] != '/') {
					$return = '/'.$return;
				}
				return $return;
			} elseif (!$local) {
				return $ref;
			}
		}

		if ($default != null) {
			return $default;
		}
		return '/';
	}

*1:そしてスペルが不安定 ^^;