2011-02-04 113 views
1

我有player.php文件,它调用视频播放器播放某个视频。如何阻止某些网站访问此文件并使用它在该网站上嵌入视频。换句话说,我可以在player.php中使用哪些代码来阻止某些网站访问此文件。阻止某些网站访问某个文件

回答

1

你可以在三个层面上做到这一点。

1)Web服务器

例如,使用.htaccess文件,如果你是一个Apache服务器上。 这可以通过重写将它们推送到一些虚拟文件或404或任何你喜欢的东西来完成。例如:

RewriteEngine on 
# Options +FollowSymlinks 
RewriteCond %{HTTP_REFERER} badsite\.com [NC] 
RewriteRule .* - [F] 

这真的是理想的方式,因为它排除了解释PHP的必要性。

2)PHP

在您的网页,使用$ _ SERVER [“HTTP_REFERER”](如果没有引用可能未设置),并搜索字符串中有问题的领域。

这是第二好的,如果你不能改变Apache的配置,这可能是你唯一的选择。

3)投票

并没有真正阻止访问到任何东西,因为检查发生的客户端(他们已经下载player.php和JavaScript本身运行它之前)。如果他们直接访问视频或其他内容,则不会阻止他们获取该文件。您将使用document.referrer并像PHP示例一样搜索域。

1

如果您使用的是Apache并且可以访问您的.htaccess文件,我建议您使用它。这page是一个很好的资源。

你可以尝试这样的事情,假设player.php是在Web根:

RewriteEngine On 
RewriteCond %{HTTP_REFERER} ^player\.php.* 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?your-domain\.com/ [NC] 
RewriteRule .* http://your-domain.com/please-dont-steal\.php[NC] 
-1

有很多技巧的,你可以与Apache国防部重写做的和/或的.htaccess

1

你最好处理这个问题的服务器端,所以PHP是一个很好的选择。您需要检查HTTP referrer标题以查看您是否被盗链。