我将如何a)包含一个位于Web根目录之外的php脚本(它真的只是一个简单的../file.php),b)将表单数据发布到Web根目录之外的php脚本。我被引导相信这是php安全的基石。
答案 0 :(得分:10)
包括一个非常简单的webroot脚本:你将采用与你在webroot下的脚本相同的方式:
include '../myscript.php';
include '../library/myscript.php';
include dirname(__FILE__) . '/../library/myscript.php';
你喜欢的那个;-)
我会选择最后一个人,但是。
发布到webroot之外的脚本是不可能的:Apache 不能提供该脚本(Apache只提供web-root中的内容)。
因此,无法通过HTTP访问该脚本;这意味着无法从浏览器访问它。
但是如果要发布到webroot内部的PHP脚本,并且该脚本包含另一个位于webroot之外的脚本,那么第二个文件中的代码将作为第一个脚本执行。这意味着它可以访问$_POST
数据 - 表单中输入的数据。
答案 1 :(得分:7)
A)如果您的网络根目录是/ www / myapp / public_html,那么您的public_html / index.php可以包含Web根目录之外的脚本
require '../includefolder/script.php"
B)您无法将数据直接发布到Web根目录之外的脚本。将它们移到那里的全部意义在于它们无法直接进入它们;所有内容都必须从您的Web根目录中显示的可访问脚本传递给他们。
答案 2 :(得分:3)
$_POST
这样的超级全局,而无需任何额外的努力