将PHP脚本放在网站根目录之外

kal*_*tch 4 php security

如何ia)包括一个在Web根目录之外的php脚本(它真的只是一个简单的../file.php),b)将表单数据发布到Web根目录之外的php脚本.我被引导相信这是php安全的基石.

Pas*_*TIN 10

包括webroot之外的脚本很简单:你将采用与webroot下的脚本相同的方式:

include '../myscript.php';
include '../library/myscript.php';
include dirname(__FILE__) . '/../library/myscript.php';
Run Code Online (Sandbox Code Playgroud)

你喜欢的那个;-)
我会选择最后一个,但是.


发布到webroot之外的脚本是不可能的:Apache不能提供该脚本(Apache只提供web-root内部的内容).

因此,无法通过HTTP访问该脚本; 这意味着它无法从浏览器访问/通过浏览器访问.

但是,如果您要发布到webroot内部的PHP脚本,并且该脚本包含另一个位于webroot之外的脚本,则该第二个文件中的代码将作为第一个脚本执行.这意味着它可以访问$_POST数据 - 表单中输入的数据.


aw *_*rud 7

A)如果您的Web根目录是/ www/myapp/public_html,那么您的public_html/index.php可以包含Web根目录之外的脚本

require '../includefolder/script.php"
Run Code Online (Sandbox Code Playgroud)

B)您无法将数据直接发布到Web根目录之外的脚本.将它们移到那里的全部意义在于它们无法直接进入它们; 所有内容都必须从您的Web根目录中显示的可访问脚本传递给它们.