
自分が苦労して構築したサイト、書いた記事が、他のサイトにミラーリングされて引用されると、非常に腹立たしいものです。以前に紹介した宝塔とLNMPでのホットリンク防止方法、しかしこの方法では他のサイトがiframeフレームを使ってあなたのサイトのコンテンツを引用するのを防ぐことはできません。
他のサイトがiframeフレームであなたのサイトのコンテンツを引用するのを禁止するにはどうすればよいでしょうか?方法は以下の通りです:
X-Frame-Optionsを使用して他のサイトの引用を制限する
X-Frame-Options HTTPレスポンスヘッダーは、ブラウザに対して、ページが<frame>、<iframe>、<embed>、または<object>内で表示されることを許可するかどうかを示すためのマーカーです。サイトは、自サイトが他のサイトに埋め込まれていないことを確認することで、クリックジャッキング攻撃を回避できます。
X-Frame-Optionsには以下の3つの値を使用できます:
X-Frame-Options:deny//すべてのドメインからのフレーム引用を禁止
X-Frame-Options:sameorigin//同一ドメインのみ許可
X-Frame-Options:allow-fromhttps://example.com/ //指定ドメインのみ許可
通常は、X-Frame-Options: sameorigin を追加するだけで解決できます。
nginxと宝塔パネルでの実装方法
サーバーがnginxまたは宝塔パネルを使用している場合は、以下の方法でX-Frame-Options: sameorigin を追加できます。
仮想ホストのnginx設定ファイルに、以下のコードを追加します(宝塔ユーザーの操作手順:サイト-設定-設定ファイル)。
add_header X-Frame-Options SAMEORIGIN always;
コードはrootの内容の上に追加します。以下の通り:
listen 80; listen 443 ssl http2; server_name blog.naibabiji.com; index index.html index.htm default.html default.htm index.php default.php; add_header X-Frame-Options SAMEORIGIN always; root /www/wwwroot/blog.naibabiji.com;
追加後、nginxサービスを再起動すると効果が確認できます。
LNMPワンクリックパックでnginxを再起動するコマンド:/etc/init.d/nginx restart
宝塔でnginxを再起動する手順:アプリストア-nginxを検索-nginxをクリック-再起動
その他の設定方法
nginxサービスを使用していない場合は、以下の記事を参照して操作してください。
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/X-Frame-Options
以上が、サイト構築中にサイトがフレーム引用される問題に対処する方法です。他に質問があれば、コメントでご討論ください。