現在の言語: 日本語

戻る

URLチェック
$_SERVER['HTTP_HOST']

$_SERVER['HTTP_HOST']を使用して
クライアント(ブラウザ)が送信してきた情報が
自サイトなのか?を判定する方法です。

[サンプル]

copy
$host = $_SERVER['HTTP_HOST'];
$checkURL = 'nekofes.github.io';

// ホスト名が特定の文字列で終わっているかチェックする
if (substr($host, -strlen($domain_to_check)) === $checkURL) 
{
	// ドメイン nekofes.github.io 内のアクセス
	echo "一致";
} 
else 
{
	// 異なるドメインからのアクセスである
	echo "不一致";
}
$host = $_SERVER[‘HTTP_HOST’];
$checkURL = ‘nekofes.github.io’;

// Check if the hostname ends with a specific string
if (substr($host, -strlen($domain_to_check)) === $checkURL) 
{
    // Access within the domain nekofes.github.io
	echo “Match”;
} 
else 
{
    // Access from a different domain
    echo “No match”;
}
copy


$_SERVER['HTTP_HOST']
クライアント(ブラウザ)から送信されたHTTPリクエストヘッダーの Host: フィールドの値を取得します。
substr($host, -strlen($checkURL))
strlenを「-」(マイナス)にすることで
ドメイン名が下から一致してるか?を判定します。

if(strpos($_SERVER['HTTP_HOST'], "nekofes.github.io") === 0)
$_SERVER['HTTP_HOST'] が "nekofes.github.io" だった場合
strpos("nekofes.github.io", "nekofes.github.io") は、
先頭で見つかるため、0 === 0 となり、trueを返します。

$_SERVER['HTTP_HOST'] が "www.nekofes.github.io" だった場合
strpos("www.nekofes.github.io", "nekofes.github.io") を実行します。
"test.co.jp" は "www." の直後、4文字目から始まります。
したがって、4 を返します。
4 === 0 となり、これは false です。

$_SERVER['HTTP_HOST'] が "sub.nekofes.github.io" だった場合
strpos("sub.nekofes.github.io", "nekofes.github.io") を実行します。
これも同様に、"nekofes.github.io" は 4文字目 から始まります。4 を返します。
4 === 0 となり、これは false です。



戻る

著作権情報
ホームページおよびアプリ等に掲載されている情報等については、いかなる保障もいたしません。
ホームページおよびアプリ等を通じて入手したいかなる情報も複製、販売、出版または使用させたり、
または公開したりすることはできません。
当方は、ホームページおよびアプリ等を利用したいかなる理由によっての障害等が発生しても、
その結果ホームページおよびアプリ等を利用された本人または他の第三者が被った損害について
一切の責任を負わないものとします。