我怎么能知道当图像(PHP产生的)从我的网站或另一个叫什么名字?如何知道使用PHP生成的图像是从我的网站还是其他网站请求的?
我试图与
if(eregi("mydomain.com", $_SERVER[SERVER_NAME])
,但似乎总回报真正即使
<img src='..linktofilephptogeneratetheimage..' >
位于花药服务器上
感谢
我怎么能知道当图像(PHP产生的)从我的网站或另一个叫什么名字?如何知道使用PHP生成的图像是从我的网站还是其他网站请求的?
我试图与
if(eregi("mydomain.com", $_SERVER[SERVER_NAME])
,但似乎总回报真正即使
<img src='..linktofilephptogeneratetheimage..' >
位于花药服务器上
感谢
你会想使用$ _SERVER ['HTTP_REFERER']来获取引用图像的页面。然后将此路径与您期望从(您自己的站点)访问图像的域匹配。
如果它是可以接受的,则服务形象;如果不是,则回显一个虚拟图像或其他东西。
注:此变量可以由一些Web客户端进行人工编辑,但如果你只是想避免人们使用您的网站供职于其他页面的图像,它应该是足够可靠。
我只是现在把它们捆起来,但似乎仍然这么想的与 \t工作,如果死了( '错误')(eregi( “mydomain.com”,$ _ SERVER [ 'HTTP_REFERER'])!); – oscurodrago 2011-04-22 23:49:06
@oscurodrago:使用[strpos](http://php.net/strpos)。 ereg已弃用(其替换为[preg_match](http://php.net/preg_match))。 – netcoder 2011-04-22 23:51:52
我可以问你为什么使用折旧的PHP函数?如果你只是想看看该域名是在引用字符串,就使用if(strpos($ _ SERVER [ 'HTTP_REFERER'], “mydomain.com”)> - 1),或者如果(的preg_match(“MYDOMAIN \ .COM”,$ _ SERVER [ 'HTTP_REFERER'])!= 0)。 – BraedenP 2011-04-22 23:55:11
简单说明:自PHP.net recommands去PHP5.3 eregi是会很快depricated。 – Thew 2011-04-22 23:41:06