如何为PHP设置私人文件夹包括本地测试和实时使用的文件。

时间:2012-02-06 15:44:30

标签: php apache dreamweaver

这里有一个菜鸟。这里可能有一个简单的解决方案 - 但我无法让它工作或创建一个非kludgey测试环境。这可以在其他地方部分回答,但我仍在拔头发 - 所以我要问。

Linux VPS上的实时路径(vhosts目录中有许多站点):

/var/www/vhosts/mysite.com/subdomains/mysubDomain/httpdocs/index.php /* the public, everyone can see web root directory */  

我希望能够配置私有级别包含文件夹:

/var/www/vhosts/mysite.com/subdomains/mySubdomain/includes/myincludes.php  /*where I want the webserver only to read */  

注意:我还想在上传后使用同级别目录移动私人文件。

在本地,我试图在:

创建一个类似的结构
C:\xampp\htdocs\mySubdomain\httpdocs  

一个不好的想法是将本地vHosts文件中的DocumentRoot设置为mySubdomain文件夹 - 但这会在以下内容中公开目录结构:

<img src=”/httpdocs/images/image.png">  

- 现场网站不接受。

在我的XAMPP测试服务器上,我已经设置了vhosts文件,为mysite.local创建了以下内容

NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
     DocumentRoot C:/xampp/htdocs/
    ServerName localhost
</VirtualHost>
<VirtualHost mysite.local>
    DocumentRoot "C:/xampp/htdocs/mySubDomain/httpdocs"
     ServerName mysite.local
     <Directory "C:/xampp/htdocs/mysite" ></Directory>
</VirtualHost>

但是,我无法在mySubdomain文件夹中访问我的包含。

问题:

  1. 这整个方法是否比'live'级文件夹(即httpdocs / includes)中的htaccess提供了任何真正的好处?我已经看到多个引用存储“公共”以下将是一个更安全的文件和首选文件夹结构。
  2. 是includepath还是Document Root设置?其他一些神奇而细腻的设置平衡?如何在httpdocs(而不是htdocs本地文件夹被识别为公共目录?)中创建本地测试访问权限?
  3. Bonus(以及noob赠品),如果可以在此配置中设置DreamweaverCS5.5,以便利用它的一些优良功能(如自动发现包含文件)进行测试和浏览器检查。

1 个答案:

答案 0 :(得分:0)

  1. 是的,确实如此。例如,如果某些东西或某人搞砸了网络服务器足够破坏PHP,而不是网络服务器本身,人们可能能够下载public/somebusinesslogic.php,但不能private/somefilewithpasswords.php。也可以在Apache上禁用.htaccess个文件,这取决于它的实际内容可能需要一段时间才能注意到。
  2. 你没有提供错误的内容,所以我不能告诉你出了什么问题,但是在Windows上模仿这个设置应该不是问题,只要你使用相对包含...
  3. 我对使用DreamWeaver创建的产品有足够的仇恨,我已经看过了,我不会用十英尺的杆子触摸它。当然,这是5年多前。它可能变得不那么糟糕了。