2

私のウェブサイトhttp://usb-online.frのためにあなたの助けが必要です。これは php ファイル ホスト Web サイトで、ダウンロードの一部を次に示します。

header("Content-Type: $mime; name=\"$fichier\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: $taille");
header('Content-Description: Fichier hebergé par usb-online.fr');
header("Content-Disposition: attachment; filename=\"$fichier\"");
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');

ob_clean();
flush();
log_download($file,$infos['auteur'],$taille);
bunzip2($path);

この URL を試してみると: http://usb-online.fr/file-download-822MjYzMg.html ダウンロード ボックスが開いていて、画像が表示されていないことがわかります。しかし、ユーザーが<img src="http://usb-online.fr/file-download-822MjYzMg.html"/>Webサイトで行うと、画像を表示でき、サーバーがビジーになります。これを許可したくないのですが、どうすればよいですか? http://usb-online.fr/file-download-822MjYzMg.html

4

3 に答える 3

1

あなたがやりたいことができるかどうかはわかりません。ブラウザーに URL へのアクセスを許可すると、リモート エンドでのデータの処理を制御する方法がなくなります。

于 2012-08-22T07:56:40.583 に答える
1

あなたが言及しているのは「ホットリンク」と呼ばれ、無効にする方法はいくつかあります。

これは、あなたの状況にどの種類が当てはまるかを説明したものです。http://safalra.com/programming/php/prevent-hotlinking/それ以外の場合は、Google で多くの情報が見つかります。

于 2012-08-22T07:17:02.647 に答える
1

セッションに nonce を追加します。そのノンスを、保護したい画像の URL の一部として使用します。画像のリクエストを受け取ったら、ユーザーの nonce が提供されている場合にのみ返信してください。

nonce は基本的にランダムなビットであり、数値や文字列の場合があります。ノンスは、CSRF 攻撃を防ぐためによく使用されます。この場合、新しいランダムなノンスを作成し、ユーザーのセッションに保存します。この例では、ノンスとして「asdfgh」を使用しましょう。次に、次のようなものを使用します

<img src="yoururl.php?n=asdfgh">

yoururl.php で、リクエストの n の値がユーザーのセッションに保存されている nonce と一致することを確認します。一致しない、画像がない。

于 2012-08-22T07:19:40.027 に答える