我遇到了一个非常大的问题,过去几天我一直在尝试解决它,但没有成功。我有一些文件是课程表,这些文件是从外部源(html 格式)导入到服务器的。我需要阻止对这些文件的直接访问。它们由 PHP 脚本显示。因此,这些是假设:-通过 php 脚本显示的文件-文件不能以任何方式修改(html 文件)-必须没有对这些文件的直接访问-服务器是 apache
有什么想法吗?我尝试使用 htaccess,但我可能不够熟练,因为它也阻止了 php 脚本对文件的访问。
提前致谢。
答案1
使用.htaccess
重写规则示例
RewriteEngine on
RewriteRule ^folder/$ http://path_to_different_page.php
答案2
我认为另一种方法是:
- 创建一个键值表,重命名文件,旧名称为键,值是新名称(可能是 md5('xx') 或其他长/不规则/唯一字符串)。
- 访问文件时查找“键值”表。
答案3
如果您要求使用 .htaccess 保护一个或多个文件,那么您可以执行以下操作......
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /path/to/passwordfile/.htpasswd
AuthGroupFile /dev/null
<Files admin.php>
require valid-user
</Files>
<Files protected.htm>
require valid-user
</Files>
<Files protected2.htm>
require valid-user
</Files>
您还需要创建一个 .htpasswd 文件并更新AuthUserFile
此文件的位置路径.... 有一个可用的工具http://tools.dynamicdrive.com/密码/创建这些.htaccess
和.htpasswd
文件。