防止在PHP中间接访问网站

时间:2013-04-02 03:12:25

标签: php security

我有一个查询。有没有办法检测网站是直接访问还是直接访问?让我用一个例子让你的问题更清楚。

假设我有一个图片共享网站。当用户打开网站并查看图像时,它会增加图像的总展示次数。但我看到人们在论坛中嵌入DIRECT图像Url而不是缩略图代码,以增加展示次数。这应该是我想要阻止的网站的间接访问。

我只是想要一个解决方案,只允许直接查看网站,而不是通过在论坛中或通过iFrame等虚假嵌入URL。

PHP中是否有解决方案?

2 个答案:

答案 0 :(得分:2)

您需要阻止Hotlinking您的图片。我引用

  

Hotlinking是互联网上使用的一个术语,指的是通过链接到另一个网站上的同一图像在网站上显示图像的做法

将以下内容添加到.htaccess文件中,并根据需要更改域名。

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

答案 1 :(得分:0)

检查HTTP referer标题。虽然这可能是欺骗性的,但这是最简单的方法。

http://en.wikipedia.org/wiki/HTTP_referer