我想创建一个URL,当加载到我的域内的页面中时,它会返回一个图像,当加载在我的域外的页面<em中时,会返回另一个稍微修改过的图像。>
我正沿着这样的思路思考:
<?php
header('Content-type: image/jpg');
if (/**image is loaded within my domain**/)
{
readfile("image1.jpg");
}
else
{
readfile("image2.jpg");
}
?>
我能在if语句中添加一些内容使其发挥作用吗?这可能适用于所有浏览器?
有没有一种方法可以在没有php的情况下做到这一点?
您可以在请求中使用referrer URL并检查它是否是您的域。这是使用$_SERVER['HTTP_REFERER']
完成的。
但是,HTTP_REFERER URL可以很容易地被客户端修改,有时甚至可以不设置,所以在使用它时需要小心。
我不知道,你将如何获得不在你的域中的图像请求,但你可以看看$_SERVER['HTTP_HOST']
。也许,HTTP_REFERER
正是你所需要的。不管怎样,看看这里。