現在の位置: ホーム> 最新記事一覧> BrowserがジャンプするときにHeader()を使用して盗難防止リンクメカニズムを実装する方法は?

BrowserがジャンプするときにHeader()を使用して盗難防止リンクメカニズムを実装する方法は?

M66 2025-06-12

盗難防止リンクメカニズムとは、リソースの盗難を避けるために、他のWebサイトが写真、ビデオ、ファイルなどのリソースを直接参照することを防ぐことを指します。 PHPでは、 Header()関数を使用してブラウザにジャンプする場合、簡単な盗難防止リンクメカニズムを実装できます。

盗難防止チェーンの基本原則

ウェブサイトのリソース(写真、ビデオなど)が他のWebサイトで直接参照されると、帯域幅の廃棄物とリソースの乱用が発生する可能性があります。これを防ぐために、リクエストソースをHTTPヘッダーの参照フィールドによって決定して、リクエストを許可するかどうかを判断できます。

Header()を使用して、盗難防止チェーンを実装します

Header()関数は、生のHTTPヘッダー情報を送信するPHPの関数です。リクエスト内の参照フィールドを確認することにより、リクエストが正当なソースWebサイトから来るかどうかを知ることができます。合法でない場合は、 Header()関数を使用して、他のページにリダイレクトしたり、アクセスを拒否したりするなど、対応する処理を行うことができます。

コードの例

<?php
// リクエストを取得します Referer フィールド
$referer = $_SERVER['HTTP_REFERER'];

// 正当なソースドメイン名を定義します
$allowed_domain = 'm66.net';

// 診る Referer 法的ドメイン名が含まれていますか
if (strpos($referer, $allowed_domain) === false) {
    // もし Referer 違法,拒否ページにジャンプします
    header('Location: https://m66.net/403.html');
    exit;
} else {
    // もし Referer 正当な,リソースへのアクセスを許可します
    // ここでリソース出力やその他の操作を実行できます
    echo "私のリソースへようこそ!";
}
?>

コード解析

  1. $ _SERVER ['HTTP_REFERER']は、通常、リクエストソースのURLが含まれるリクエスト内の参照フィールドを取得するために使用されます。

  2. strpos()関数を使用して、参照フィールドに許容ドメイン名( m66.net )が含まれているかどうかを確認します。ドメイン名が含まれている場合、リクエストは法的ソースから開始されました。

  3. 参照者が合法でない場合は、ヘッダー( '場所:https://m66.net/403.html')を使用して403エラーページにリダイレクトし、アクセスが禁止されていることを示します。

  4. リクエストが合法である場合、リソースへのアクセスが許可され、歓迎メッセージが出力されます。

注意すべきこと

  • 特に強力なプライバシー保護を備えた一部のブラウザやユーザーがリファージャーを送信することを禁止している場合すべてのリクエストがお客様と一緒に提起されるわけではありません。

  • この盗難防止チェーンメカ​​ニズムは参照フィールドに依存するため、100%安全ではありません。セキュリティを強化したい場合は、署名検証、IPホワイトリストなど、他のメカニズムを組み合わせることもできます。