通过将文件放置在服务器根目录之上来保护文件的替代方法
我当前的托管公司不允许我将任何内容放置在服务器根目录之上。所以我没有办法保护这些 config.php 文件免受那些邪恶的人的侵害。我知道一种方法可以阻止浏览器访问它们(假 404 消息),但很容易通过。
你们知道还有其他方法可以保护文件不被用户访问,但又允许 php 脚本访问它们吗?
My current hosting company cannot allow me to place any content above the server root. So i have no way to protect those config.php files from those evil people. I know a way to stop them being accessed by browsers (fake 404 messages) but it's very easy to get pass that.
do you guys know any other way to protect files from users but allow php scripts to access them?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您的主机允许使用 .htaccess 文件,您可以将一个名为 .htaccess 的文件添加到所需目录中,其内容如下:
因此没有人可以访问此目录中的文件(但您的 php 解释器应该仍然可以)。
If your hoster allows the use of .htaccess files you could add a file called .htaccess into the desired directory with the content:
So nobody can acces the files in this directory (but your php interpreter should still be able to).
您可以为这些文件提供自定义扩展名,然后使用 .htaccess 文件来保护它们,拒绝访问它们。像下面这样:
You could give a custom extension those files and then protect them with an .htaccess file denying access to them. Something like the following:
如果您使用的是 config.php,只需在主脚本中设置一些变量,例如“$include_config”,然后在配置文件本身中检查它。如果变量不存在,请使用 die(); ,config.php 将不会输出任何内容
If you're using a config.php, just set some variable in your main script like "$include_config" and then check for it in your config file itself. If the variable is not there, use
die();
and nothing at all will be output by config.php