2012-03-29 1 views
1

内の1つの画像を返す単一のURLを作成したい場合は、ページ内にロードしたときに若干修正された画像私のドメイン。画像がドメイン外のページにロードされているかどうかを検出する

私のようなものの線に沿って考えています:

<?php 
    header('Content-type: image/jpg'); 
    if (/**image is loaded within my domain**/) 
    { 
     readfile("image1.jpg"); 
    } 
    else 
    { 
     readfile("image2.jpg"); 
    } 
?> 

私はそれを動作させるためにif文に置くことができるものはありますか?おそらくそれはすべてのブラウザで動作しますか?

PHPなしでこれを行う方法はありますか?

答えて

3

リクエストに参照元URLを使用して、自分のドメインであるかどうかを確認できます。これは$_SERVER['HTTP_REFERER']を使用して行われます。

しかし、HTTP_REFERER URLはクライアントによって簡単に変更でき、時には設定することもできないため、使用する際には注意する必要があります。

1

あなたのドメインにない画像をリクエストする方法はありますが、$_SERVER['HTTP_HOST']をご覧ください。たぶん、が必要です。とにかくhereを見てください。

関連する問題