Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将php脚本放置在网站根目录之外_Php_Security - Fatal编程技术网

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

将php脚本放置在网站根目录之外,php,security,Php,Security,我将如何a)包含web根目录之外的php脚本(它是否真的只是一个简单的../file.php),b)将表单数据发布到web根目录之外的php脚本。我相信这是php安全的基石 就这样。相对路径 如果这与您之前的问题有关(您将此文件包括在中),那么像$\u POST这样的超全局变量将在包含的文件中提供,无需任何额外的努力 A) 如果您的web根目录是/www/myapp/public_html,那么您的public_html/index.php可以通过执行以下操作在web根目录之外包含脚本 requ

我将如何a)包含web根目录之外的php脚本(它是否真的只是一个简单的../file.php),b)将表单数据发布到web根目录之外的php脚本。我相信这是php安全的基石

  • 就这样。相对路径
  • 如果这与您之前的问题有关(您将此文件包括在中),那么像
    $\u POST
    这样的超全局变量将在包含的文件中提供,无需任何额外的努力
  • A) 如果您的web根目录是/www/myapp/public_html,那么您的public_html/index.php可以通过执行以下操作在web根目录之外包含脚本

    require '../includefolder/script.php"
    

    B) 不能将数据直接发布到web根目录之外的脚本。将它们移到那里的全部目的是为了不直接接触它们;所有内容都必须从web根目录中公开的可访问脚本传递给他们。

    包含webroot之外的脚本很容易:您将以与webroot下的脚本相同的方式执行:

    include '../myscript.php';
    include '../library/myscript.php';
    include dirname(__FILE__) . '/../library/myscript.php';
    
    你喜欢的那个;-)
    不过,我还是会选最后一个


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

    因此,无法通过HTTP访问该脚本;这意味着它不能从浏览器访问或由浏览器访问

    但是如果您正在发布到webroot内部的PHP脚本,并且该脚本包含webroot外部的另一个脚本,那么第二个文件中的代码将作为第一个脚本执行。这意味着它可以访问
    $\u POST
    数据——表单中键入的数据