Определить, загружено ли изображение на странице за пределами моего домена - PullRequest
1 голос
/ 29 марта 2012

Я хотел бы создать один URL, который возвращает одно изображение при загрузке на странице в пределах моего домена, и другое слегка измененное изображение при загрузке на странице за пределами моего домена.

Я думаю о чем-то вроде:

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

Есть ли что-то, что я могу добавить в выражение if, чтобы оно работало?Возможно, это работает во всех браузерах?

Есть ли способ сделать это без php?

Ответы [ 2 ]

3 голосов
/ 29 марта 2012

Вы можете использовать URL-адрес реферера в запросе и проверить, является ли он вашим доменом.Это делается с помощью $_SERVER['HTTP_REFERER'].

. Однако URL-адрес HTTP_REFERER может быть легко изменен клиентами и даже иногда не может быть установлен, поэтому вам следует быть осторожным при его использовании.

1 голос
/ 29 марта 2012

Я не знаю, как вы получите запрос изображения не в вашем домене, но вы можете посмотреть $_SERVER['HTTP_HOST']Может быть, HTTP_REFERER это то, что вам нужно.В любом случае посмотрите здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...