我的php wab应用程序中有一个包含敏感信息的.ini文件.我拒绝使用.htaccess文件访问它:
<files my.ini>
order deny,allow
deny from all
</files>
Run Code Online (Sandbox Code Playgroud)
我无权访问htdocs之外的文件夹,因此我无法将.ini文件移出可浏览的区域.
我的解决方案安全吗?
.htaccess将阻止来自网络的访问.但是,如果您使用的是共享托管环境,则其他用户可能会访问您的ini.如果它在(虚拟专用)服务器上,并且您是该服务器的唯一用户,那么您是安全的.
在共享主机的情况下,它取决于服务器配置.有关更多信息,请阅读:共享托管环境中的PHP安全性
您可以临时安装PHPShell并浏览服务器文件系统以检查您的服务器是否容易受到攻击.(需要一些命令行知识)
另一个很好的解决方案和我个人最喜欢的(尤其是在开发可能不受我严格的 .htaccess 控制的代码时)是保护实际的 .ini 文件。感谢这里的好心人 - 用户注释:pd at freeze-bits dot de,我所做的是:
my.ini -> changes to my.ini.php
Run Code Online (Sandbox Code Playgroud)
my.ini.php 开始:
;<?php
;die(); // For further security
;/*
[category]
name="value"
;*/
Run Code Online (Sandbox Code Playgroud)
完美运行!直接访问文件,你看到的只有';' 并且它是一个有效的,可解析的.ini文件。什么不喜欢:)
关于实际实施的一些注意事项(如果这算作“过度分享”,但可能会节省一些时间,对此表示歉意):
;*/
。如果您不使用它,它仍然有效,但 PHP 会警告您它即将变为 Upset。排序。