Имеете ли вы какое-либо влияние на веб-приложения утвержденных компаний?Если это так, я могу придумать два способа сделать это.
Используя ваши примеры foo / bar, где bar.com - ваш сервер, а foo.com - одна из ваших утвержденных компаний:
1) Вместо того, чтобы браузер отправлял запрос на ваш сервер, пусть они отправят запрос обработчику изображений на foo.com, который, в свою очередь, отправляет HTTP-запрос на ваш сервер за кулисами и возвращает содержимое изображения обратно вклиент.Исходящий IP-адрес Foo будет находиться в белом списке на вашем сервере, поэтому все запросы фактически поступают с IP-адреса Foo.Клиент увидит:
<img src="http://foo.com/imagehandler.php" />
2) Гораздо сложнее, но если Foo не может сделать запрос к вашим серверам, Foo может поместить специальный хеш в строку запроса тега изображения, чтобы при браузереотправив запрос на ваш сервер, вы узнаете, что URL был создан Foo.Вам понадобится закрытый ключ на сервере Foo, чтобы он мог вычислить хеш.
Я думаю, хеш будет рассчитываться на основе комбинации IP-адреса браузера, текущей даты / времени изакрытый ключ.
Таким образом, браузер отправит запрос на foo.com/default.php, а Foo создаст следующий тег изображения для браузера:
<img src="http://bar.com/imagehandler.php?hash=393923A423B423F234C34" />
, где это число представляетсоответствующий хеш.В коде обработчика изображений Bar вам необходимо пересчитать этот хэш на основе закрытого ключа, который известен только Foo и Bar, IP-адреса, который является частью запроса GET, и текущей даты / времени.Если хеш совпадает, то вы можете быть уверены, что браузер просматривает веб-сайт foo.com, и вы можете вернуть содержимое изображения.