如何防止从其父文件直接访问 php 文件?

如何防止从其父文件直接访问 php 文件?

我在 www.example.com/somefile.php 中有一个 php 文件,该文件包含另一个目录 www.example.com/directory/someotherfile.php 中的一个文件。如何防止他人直接访问 someotherfile.php?

答案1

使用.htaccess 文件。

更多信息:http://htaccess-guide.com/

使用 .htaccess 文件,你可以拒绝任何人的访问除了来自特定的 IP 范围(例如,对于 Intranet)或需要密码。

例如,除内部 IP 范围外,还需要密码:

AuthName "Staff only, please enter password"
AuthType Basic
AuthUserFile /path/outside/of/var/www/.htpasswd
Require valid-user
Order allow,deny
Allow from 192.168.0.
satisfy any

确保您的 Apache2 版本支持 .htaccess 文件并检查配置。

答案2

只需将文件放在托管空间之外,这样 www.example.com/somefile.php(例如 /home/usr/public_html/somefile.php)就会包含例如 /home/usr/includes/someotherfile.php。如果这不可能,可以使用上述 .htaccess 解决方案的变体,将包含文件放在无人可以访问的目录中。您的 php 文件仍然可以包含它。您不需要设置密码,只需阻止对该目录的所有请求即可。

相关内容