【问题标题】:Accessing outside of public_html or httpdocs在 public_html 或 httpdocs 之外访问
【发布时间】:2013-02-15 21:14:12
【问题描述】:

为了防止我的文件被外部访问,我正在考虑将所有包含的文件放在 public_html 文件夹或 httpdocs 文件夹之外。

但是,this comment 表示在处理用户输入数据的公用文件夹之外不应保留任何内容。

对此最好和最理想的做法是什么?我的想法是让 .htaccess 点将所有内容路由到 index.php,并且 index.php 包括所有必需的文件,例如数据库连接和其他任何文件,还包括具有 HTML 和 PHP 的 .php 文件里面是页面的主体内容。

谁能告诉我这是否有什么问题,为什么?

【问题讨论】:

    标签: php


    【解决方案1】:

    但是,此评论表示不应将任何内容保存在处理用户输入数据的公用文件夹之外。

    评论使用了直接这个词。包含间接处理数据。

    我的想法是拥有一个 .htaccess

    如果可能,最好在主配置文件中处理配置。 .htaccess 效率稍低(并且将配置分散到您的 webroot 中)。

    将一切都指向 index.php,index.php 包括所有必需的文件,例如数据库连接和其他任何文件,以及

    The front controller pattern 是一个完全合理的方法。

    包括 .php 文件,其中包含 HTML 和 PHP,用于页面的主体内容。

    简单地包含它可能会开始造成一些混乱。我建议调查the MVC pattern

    【讨论】:

    • 我已经研究过 MVC 模式,但是我转到的每个网站都陈述了一种不同的接近它的方式。然后我很困惑,我真的不知道如何继续前进。我很想使用它,但有很多相互矛盾的意见。我想我的问题是我正在寻找完美的方法,但没有。 PHP似乎很固执。
    • 选择一个框架,然后按照框架的方式去做。然后你就可以开始根据经验形成意见了。
    【解决方案2】:

    您所指的评论说,直接处理输入或输出的任何内容都不应位于文档根目录之外。

    另一方面,将库代码放在根目录之外是非常好的。如果您使用index.php 作为应用程序的单一入口点,那么除了该脚本之外,几乎唯一可以通过网络访问的就是您的资产(css、js、图像等)。

    【讨论】:

      猜你喜欢
      • 2016-04-30
      • 2014-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-11
      • 1970-01-01
      • 2013-01-18
      相关资源
      最近更新 更多