を予防する方法を深くリンクファイルを自分のwebサイト
質問
私自身のwebサイトを含む多くのフリーウェアもダウンロードします。問題は私が直面する人々が世界各国からの直接リンク のファイル(例えば.zipファイル)を掲載したウェブサイトや一般のものです。どんどん膨大な量の帯域幅および大丈夫ですが、訪れたページは低い。があるので、またはスクリプトを追加できるリンクする場合には、このような人にプレス、リンクをクリックから海外のwebサイトでは、ページから自分のサイトを開設代わりに、そしてできたファイルをダウンロードできます。
例えば、このアドレスからウェブサイト:
が誰にでもプレスで、コンテンツのダウンロードす。
解決
あなたがPHPを使用している場合は、ダウンロードするだけ$_SERVER['HTTP_REFERER']
は、あなたのサイトからのものである場合、ユーザーにリンクするスクリプトを持つことができます。そうでない場合は、あなたのサイトにリダイレクトします。
他のヒント
サイトが主催するApache webサーバーで対応することができるでしょうへい、以下のサイトのhttpd.confまたはバーチャルホストブロック)
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com/ [NC]
RewriteRule ^/PublicFiles/ /page-about-direct-links.html
ることは基本的に言う:
- のmod_rewriteエンジン
- 場合は、HTTPリファラがない空白の...
- を含まない私のドメイン名(なし"www.")...
- リダイレクト等に配下にあるもの/PublicFiles/to/page-about-direct-links.html
詳細情報mod_rewriteで、できるだけ早く送ってくださ mod_rewrite-Apache HTTPサーバ
あなたが提供しているファイルへの直接リンクを提供しないでください。あなたが送信ボタンをヒットしたら、スクリプトを介してコンテンツを送信するスクリプトを提供します。
CGIを介してファイルを送信するためのウェブ検索を行います。
ここで私はオンラインで見つけるきちんとリンクは次のとおりです。 ここを
なぜ、例えば、リンクはダイナミックかつ間接的にしません
ページXの:(静的)
<a href="Y">SuperNeat Program</a>
ページYの:(動的に生成される)
Click here to download
<a href="Z.php?timestamp={timestamp}&counter={counter}&hash={hash}">
SuperNeat Program</a>
と1970年、カウンタ=あなたは、ダウンロードごとに一度インクリメントカウンタCONCATENATEの、ハッシュ= MD5ハッシュ(タイムスタンプ、カウンタ、秘密塩)秘密の塩=あなたが保つ好きなコード以来、ミリ秒の現在時刻/ wのタイムスタンプを交換します秘密ます。
次に、ページZ.phpに、あなただけの、クエリ文字列にカウンタとタイムスタンプからハッシュ値を再計算し、それがクエリ文字列にハッシュと一致することを確認し、タイムスタンプが最近のものであること(例えば、以前の30分または60分または何でも)。それがある場合は、問題のファイルを提供しています。そうでない場合は、エラーメッセージを投げます。これはあなたのファイルへの直接リンクだけに短い時間誰かを与えます。あなたもしたくない場合は、Z.phpクエリ文字列で受信カウンタ値を追跡し、それらを複数回受け付けておりません。
私はすべてwebの専門家ではあるが、私はを考え、以下のポインタ-
使用している場合は、asp.net がhttpハンドラー又はモジュールの設定のウェブサイトのレベルによるものでないことを多くののであり、またそれらの情報をウェブかで、最近一部の作品は、一 第 ります。
その考え方としては、切片の依頼での間に対象ファイルのリダイレクトのページをご希望のショいう願いを閲覧のurlんの掲載("http://sy-stu.org/stu/PublicFiles/StdLibrary/Exam.zip")遮この話、一部のルックアップのページを表示したいとリダイレクトの要請が残っていますが、私の顔をユーザーの以下のリンクなもの迷惑にない場合がれ対象をファイルに保存"を"をもたらし、その結果てを救うと、HTMLといZIP).
しかし、あの"穴"マイプラン-いリンクを提供することから自分のページに表示すべき事は何か?ダウンロードいただけまでに差別化するご要望からお客様のwebサイトでもお越しからもチェックのハンドラ/モジュールを調査することにより、requestオブジェクトになります。