Esta é uma abordagem.
Você dá a eles um HTML que se parece com:
<a href="https://www.mysite.com/abc.html">
<img alt="abc" src="http://www.mysite.com/logo.php" style="width:200px;height:100px" />
</a>
Observe que diz
logo.php
, não logo.gif
. logo.php
vai viver no seu servidor. Sua finalidade é dupla:- Reúna informações sobre a página que contém o
<img>
etiqueta - Carregue e imprima logo.gif para que os usuários vejam a imagem conforme o esperado.
Se você incorporar esse html em uma página da Web em algum lugar, o logo.php terá informações sobre a origem da solicitação da imagem. Especificamente,
$_SERVER['HTTP_REFERER']
fornecerá o URL completo da página onde a tag img reside. Cabe então a você decidir como processar e armazenar essas informações. Não sei exatamente o que você quer fazer, mas um logo.php bem simplificado ficaria assim:
<?php
$url = $_SERVER['HTTP_REFERER'];
// do something with $url...
// it will be something like "http://theirsite.com/wherever/they/pasted/the.html"
// now output the logo image...
header("Content-Type: image/gif");
echo file_get_contents("/path/to/logo.gif");
Lembre-se de que todas as vezes qualquer um acessar sua página com a tag de imagem, logo.php será executado. Portanto, não crie acidentalmente 10.000 links para o site deles em seu site :)