画像付きの Web サイトを持っていますが、それらのリンクは他の Web サイトにあることがよくあります。画像を削除できるかどうかを理解するにはどうすればよいですか? リンクがどこにあるかを確認したり、誰かが他のウェブサイトの画像を見たかどうかを確認したりします。
私の質問を理解していただければ幸いです。
ありがとう
ホットリンクを確認するには、画像を要求する HTTP クエリの HTTP_REFERER 値が必要です。ホットリンクされたリクエスト (「パーソナル ファイアウォール」ソリューション、プロキシなど) であっても、いくつかの理由でまったく入力されない可能性があるため、信頼できる方法ではありません。
最善の選択肢は、ログにリファラーを含めることです。よく使用される Apache の場合は、「結合ログ形式」を参照してください。
http://httpd.apache.org/docs/2.2/logs.html
次に、適切なツール (AWstats など) を使用してログを分析します。
壊れたホットリンクを確認するには、 ErrorLog
; 誰かが画像を見つけられなくなった場合、ログに痕跡が残ります。
ログ(または構成) にはアクセスできないが、にアクセスできる場合は.htaccess
、 を使用できますmod_rewrite
。
これを行うには、次のようなリンクを内部的にリダイレクトします (ユーザーには何も表示されません)。
http://www.yoursite.com/images/myimage.jpg
次のようなサーバー側スクリプトに
http://www.yoursite.com/images/index.php?image=myimage.jpg
ユーザーはまだ をリクエストしていると思っていますmyimage
が、実際にはスクリプトを呼び出しています。スクリプトは、最終アクセス時刻をデータベースに保存するか、画像が使用されていることを別の方法で記録します。たとえば、PHP では、この関数を使用してtouch()
ファイルの変更時刻を更新できます。その時点で、最近アクセスされたファイルとアクセスされていないファイルを簡単に見つけることができます。
これらの方法はすべてエラーが発生しやすいものです (たとえば、誰かがプロキシ経由で画像にホットリンクしてアクセスしている可能性があります。プロキシの保存期間は長く、賢明であってもアップストリームをチェックしません。画像を削除しても何も起こりません - 1 週間後、プロキシが同期し、最後にアクセスが表示され、そのときに失敗したアクセスが表示されるまで)、これが最善の方法です。
画像がどこからでもリンクされていないか、誰もアクセスしていないかどうかはわかりません。画像をホットリンクしているページがあるかもしれませんが、トラフィックはありません。
Web サーバーのアクセス ログを調べると、イメージが使用されているかどうか、および使用頻度が高いことがわかります。リファラー ログを設定すると、イメージが使用されている場所を特定するのに役立ちます。このデータが手元にあれば、より良い観点から次の動きを検討できます。
Apacheを使用すると、チェックして防止できますhotlinking
(誰かが別のWebサイトからあなたの画像にリンクしたときに呼び出される方法です).
ここに答えがあります:http://altlab.com/htaccess_tutorial.html
http://www.htaccesstools.com/hotlink-protection/を生成するツールは次のとおりです。.htaccess
しかし、グーグルにはもっとたくさんあります