PHP-阻止来自其他域的请求
我有一些这样的链接PHP-阻止来自其他域的请求,php,.htaccess,Php,.htaccess,我有一些这样的链接 http://www.domain1.com/files/domain1.com/files/def.jpg http://super.domain1.com/files/super.domain1.com/files/abc.jpg http://www.other1.com/files/other1.com/files/uhj.jpg 这些网站托管在同一托管和共享文件文件夹中。我们使用一个名为like domain name of website的子文件夹将它们分开
http://www.domain1.com/files/domain1.com/files/def.jpg
http://super.domain1.com/files/super.domain1.com/files/abc.jpg
http://www.other1.com/files/other1.com/files/uhj.jpg
这些网站托管在同一托管和共享文件文件夹中。我们使用一个名为like domain name of website的子文件夹将它们分开。但是,属于domain1.com的文件:
http://www.domain1.com/files/domain1.com/files/def.jpg
可以通过url访问
http://www.other1.com/files/domain1.com/files/def.jpg
如何防止这种情况?分别为每个域配置vhost to domain文件夹 下面是vhost配置的示例
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName www.domain1.com
DocumentRoot /home/domains/files/super.domain1.com/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/domains/files/super.domain1.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName domain1.com
DocumentRoot /home/domains/files/super.domain1.com/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/domains/files/super.domain1.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
服务器管理员webmaster@localhost
服务器名www.domain1.com
DocumentRoot/home/domains/files/super.domain1.com/
选项如下符号链接
不允许超限
选项索引跟随符号链接多视图
不允许超限
命令允许,拒绝
通融
ErrorLog/var/log/apache2/error.log
日志级别警告
CustomLog/var/log/apache2/access.log组合
服务器管理员webmaster@localhost
ServerName域名1.com
DocumentRoot/home/domains/files/super.domain1.com/
选项如下符号链接
不允许超限
选项索引跟随符号链接多视图
不允许超限
命令允许,拒绝
通融
ErrorLog/var/log/apache2/error.log
日志级别警告
CustomLog/var/log/apache2/access.log组合
您需要编写一个重写规则,检查referer,然后允许/拒绝访问实际文件。我认为这更多是一个配置/布局问题,因此应该在(不确定…)处处理,因此实际上您正在共享files文件夹,但不想共享它。看到解决方案了吗?仅将您真正想要共享的文件放在共享文件夹中,并将其他文件(即您的def.jpg)保留在域之间不共享的子文件夹中。