盗難防止リンクメカニズムとは、リソースの盗難を避けるために、他のWebサイトが写真、ビデオ、ファイルなどのリソースを直接参照することを防ぐことを指します。 PHPでは、 Header()関数を使用してブラウザにジャンプする場合、簡単な盗難防止リンクメカニズムを実装できます。
ウェブサイトのリソース(写真、ビデオなど)が他のWebサイトで直接参照されると、帯域幅の廃棄物とリソースの乱用が発生する可能性があります。これを防ぐために、リクエストソースをHTTPヘッダーの参照フィールドによって決定して、リクエストを許可するかどうかを判断できます。
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 "私のリソースへようこそ!";
}
?>
$ _SERVER ['HTTP_REFERER']は、通常、リクエストソースのURLが含まれるリクエスト内の参照フィールドを取得するために使用されます。
strpos()関数を使用して、参照フィールドに許容ドメイン名( m66.net )が含まれているかどうかを確認します。ドメイン名が含まれている場合、リクエストは法的ソースから開始されました。
参照者が合法でない場合は、ヘッダー( '場所:https://m66.net/403.html')を使用して403エラーページにリダイレクトし、アクセスが禁止されていることを示します。
リクエストが合法である場合、リソースへのアクセスが許可され、歓迎メッセージが出力されます。
特に強力なプライバシー保護を備えた一部のブラウザやユーザーがリファージャーを送信することを禁止している場合、すべてのリクエストがお客様と一緒に提起されるわけではありません。
この盗難防止チェーンメカニズムは参照フィールドに依存するため、100%安全ではありません。セキュリティを強化したい場合は、署名検証、IPホワイトリストなど、他のメカニズムを組み合わせることもできます。
関連タグ:
header