希望有人可以对此有所了解。
我的php脚本当前可以使用相对路径打开文档根目录上的文件,例如require_once(../../passowrds.php);
1)无论如何都要强制在文档根目录上面打开绝对路径?
2)访问文档根目录上方最安全的文件是什么?
提前致谢
答案 0 :(得分:-1)
无论如何都要强制在文档根目录上面打开绝对路径吗?
我将此解释为“是否可以通过相对路径阻止上层docroot访问?”。答案是:不是我所知道的,没有手动验证路径字符串(寻找过多的“......”等)
访问文档根目录上方最安全的文件是什么?
这取决于你对“最安全”的定义;您可能会遇到什么问题?
然而,一个好的开始是验证控制它的任何用户输入,而不是简单地做例如: require_once($_GET["file"])
。
答案 1 :(得分:-1)
写入 $ a ='samplevalue'; 中的require文件的最安全方法,以及写入中passowrds.php的顶部;
if($ a!='samplevalue'){header('Location:http://www.example.com/'); } 强>
passowrds.php:
if($r_key != 'a23b24c25samplekey' or empty($r_key)){ header('Location: http://www.example.com/'); exit(); } // r_key not equal a23b24c25samplekey or empty forward main page
bla.. bla.. bla..
sample.php:
$r_key = 'a23b24c25samplekey';
require_once(../../passowrds.php);
并且可以用于相对路径;
$path = $_SERVER['DOCUMENT_ROOT'];
$path .= "/yourfolder/passowrwds.php";
require_once($path);
require_once(../../ passowrds.php);比$ path = $ _SERVER ['DOCUMENT_ROOT']最安全; $ path。=“/ yourfolder / passowrwds.php”; require_once($路径);