0

我有一个站点和子域用于博客,另一个用于下载,例如:(我使用 wordpress)

    mysite.com
    blog.mysite.com
    download.mysite.com

我需要阻止所有在download.mysite.com上的任何 URL 的直接访问,并且仅当通过我的站点或博客访问文件时才允许访问,例如:

我把这个网址放在我的网站mysite.com

    download.mysite.com/mysoftware.exe (this file is accessed normally)

我将此网址放在没有我的网站anysite.com的其他网站上

    download.mysite.com/mysoftware.exe (this file is blocked!)

如果 URL 是通过blog.mysite.commysite.com访问的,则该文件可以正常访问,但如果该文件是通过 URL 或其他没有我的域(例如 no-mysite.com)直接访问的,则该文件被阻止。 ..

我找到了.htacess的代码

    Order Allow, Deny
    Deny from all
    Allow from mysite.com
    Allow from www.mysite.com
    Allow from blog.mysite.com
    Allow from www.blog.mysite.com

但不适合我,我的域也被阻止...我需要允许我的网站上的任何子网址,例如mysite.com/thelink/on/this/page

4

1 回答 1

0

您不想使用 mod_access 来允许特定站点访问,因为它会根据发出请求的人的HOST/IP进行过滤,而不是根据请求的来源进行过滤。我认为您想检查推荐人,因为这就是您知道某些东西从哪里链接的方式。

要记住的是,不能保证您实际上是在让人们偷窃您的东西,因为引用者很容易伪造。但是你可以添加一些重写规则来处理这种事情。

确保 mod_rewrite 已加载到您的网络服务器中,并在文档根目录中的 htaccess 文件中已经存在的任何规则之前添加这些规则:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^https?://blog\.mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^https?://download\.mysite\.com/ [NC]
RewriteCond %{HTTP_HOST} ^download\.mysite\.com$ [NC]
RewriteRule ^ - [L,F]
于 2013-10-18T21:52:37.607 回答