【发布时间】:2015-11-19 18:22:54
【问题描述】:
我有不少客户要求同样的事情。博客、购物车、通讯系统等。
因此,我没有每次都重新创建后端,而是创建了一个很酷的小 PHP 应用程序。我的应用程序的第一部分充当包管理器。我使用一个配置文件来输入我的包需要的所有信息。
该配置文件中包含的主要信息是管理员的用户名和密码(尽管密码可能是散列的),以及与 MySQL 数据库的连接信息。
当我开始在我的包中使用file_get_contents() 时,我开始考虑这个问题...不能有人从远程服务器列出站点目录,并从他们的一端使用file_get_contents() 来查看我的PHP 源代码吗?
如果是这样的话,显然这是一个巨大的安全问题,我似乎想不出办法来阻止这种情况的发生。
是否有一种标准方法可以防止此类攻击?
【问题讨论】:
-
如果你
fopen()一个文件通过 HTTP 并且该文件实际上没有输出/回显任何内容,那么fopen()将不会收到任何内容,因为 HTTP 服务器将执行 PHP 并发送输出。 -
@AbraCadaver 我说错了。我已经编辑了我的问题。我的意思是
file_get_contents()。 -
file_get_contents()也一样,试试吧。该文件是通过 HTTP 请求的,因此网络服务器执行 PHP,然后发送结果。 -
@AbraCadaver 我现在明白你的意思了。该函数是 PHP,所以它是服务器端的。因此,除非我专门创建了一个页面来输出内容,否则他们无法从他们的服务器获取我的代码,甚至无法通过 AJAX 请求。有点傻的问题。我很抱歉。
-
如果你能提供一个答案,我很乐意接受。
标签: php mysql security configuration