PHP从测试服务器转移后,是否不允许我访问webroot以上?

时间:2012-06-17 19:07:31

标签: php security root

只是给一点背景: 我使用Dreamweaver CS5编写php,XAMPP apache作为测试服务器,000WebHost.com用于免费托管以便在远程服务器上进行测试。

我使用登录表单编写了一个应用程序,该表单请求图像并将它们与其他一些安全文件一起存储在webroot之上。在我的笔记本电脑上,所有程序都可以100%完美地在apache上运行作为我的测试服务器。第二个我将文件复制到我的远程服务器,试图访问外部webroot的任何链接都被破坏。我可以访问我的登录页面和一个简单的处理脚本,该脚本位于webroot下,但不会超过它。

为什么我的链接突然坏了?我使用文件结构(例如:

)检查所有相对路径是否正确
  • 图片
  • 安全
  • 的public_html
从public_html

,我使用了文件路径: $ path ='../ Secure / test1.php';

感谢您的帮助,我真的需要尽快完成。

3 个答案:

答案 0 :(得分:1)

正如Musa所说,你不应该访问“public_html”目录之外的任何内容。相反,您应该将所有其他目录放入其中,并更改(如果需要)链接的相对路径,以便它们可以像这样工作:

public_html
|
|_Includes
|
|_Images
|
|_Secure
编辑:正如我在对这个答案的评论中所说,我指的是你正在使用的托管公司,而不是那里的每一个托管公司。这是一个免费的,不是我们想要的一切:)

答案 1 :(得分:1)

如果我没弄错的话,您正试图将存储在私人目录中的图像直接加载到您的主页上。问题是访问者无法访问私人目录。您网页中包含的任何路径都会生成404.在您的本地计算机上,您的网络服务器可能已经为您提供了可供您使用的图像或链接,因为您是本地计算机;您的操作系统不检查您是否是网络服务器,并且应该能够查看文件。

您应该将文件存储在公共文件夹中,或者您应该创建某种代理方法,例如使用PHP来检查请求的文件并从磁盘加载并显示。

答案 2 :(得分:0)

检查错误日志(如果可用),当您遇到错误并且没有收到错误消息时,它们通常是您的最佳信息来源。一个可能的问题可能是您的文件权限 - 确保Secure目录及其中的所有内容都可由Web服务器读取。