0

我无法将数据放在安全的位置。我想要做的是允许我的本地主机访问文件以创建我的页面,但禁止所有其他访问。

我开始尝试编写一个 .htaccess 文件来防止访问子文件夹,但在这里读到这是一种糟糕的做事方式,而且无论如何都会陷入困境,因此,按照建议,我尝试将文件移出 public_html 目录:

结构是:

bits_folder
    images
       testimage.jpg
    files
       testfile.php
public_html
    application
       callingfile.php

使用此布局,如果我尝试根据需要从浏览器访问 bits_folder 中的任何内容,则会收到错误 404。但是,callingfile.php 似乎无法访问 testimage,但可以包含 php 测试文件。

调用文件.php:

require("../../bits_folder/files/testfile.php");  //works and displays file echo
<img src="../../bits_folder/images/testimage.jpg"  //gives broken image

这两个文件(testimage 和 testfile)都在它们应该在的文件夹中。

我假设这种行为的原因是 img 是页面提供后的 http 请求,因此会被拒绝,但我不是服务器专家。是这样吗?这可以克服吗?我应该以另一种方式这样做吗?

4

1 回答 1

1

仅将 PHP 的脚本和图像放置在 public_html 之外使用。在 HTML/JavaScript 中作为 src 或以其他方式链接的图像和其他内容会导致浏览器请求这些内容。Web 服务器将拒绝从公共目录之外为它们提供服务。

您的浏览器将被拒绝访问www.example.com/../../bits_folder/images/testimage.jpg

于 2013-06-15T11:46:44.347 回答