mirror of
https://github.com/php/php-src.git
synced 2024-09-21 18:07:23 +00:00
fixed subtle bugs regarding attempting to chdir, plus cleanup issues. improved tempnam test, removed hardcoded line number. tested on windows, linux and linux 64bit.
This commit is contained in:
parent
ba5407d065
commit
aa3e1f6158
@ -59,7 +59,7 @@ function recursive_delete_directory($directory) {
|
||||
|
||||
function create_directories() {
|
||||
delete_directories();
|
||||
$directory = dirname(__FILE__);
|
||||
$directory = getcwd();
|
||||
|
||||
var_dump(mkdir($directory."/test"));
|
||||
var_dump(mkdir($directory."/test/ok"));
|
||||
@ -69,25 +69,28 @@ function create_directories() {
|
||||
}
|
||||
|
||||
function delete_directories() {
|
||||
$directory = (dirname(__FILE__)."/test");
|
||||
$directory = (getcwd()."/test");
|
||||
recursive_delete_directory($directory);
|
||||
}
|
||||
|
||||
function test_open_basedir_error($function) {
|
||||
global $savedDirectory;
|
||||
var_dump($function("../bad"));
|
||||
var_dump($function("../bad/bad.txt"));
|
||||
var_dump($function(".."));
|
||||
var_dump($function("../"));
|
||||
var_dump($function("/"));
|
||||
var_dump($function("../bad/."));
|
||||
$directory = dirname(__FILE__);
|
||||
$directory = $savedDirectory;
|
||||
var_dump($function($directory."/test/bad/bad.txt"));
|
||||
var_dump($function($directory."/test/bad/../bad/bad.txt"));
|
||||
}
|
||||
|
||||
function test_open_basedir_before($function, $change = TRUE) {
|
||||
global $savedDirectory;
|
||||
echo "*** Testing open_basedir configuration [$function] ***\n";
|
||||
$directory = dirname(__FILE__);
|
||||
$directory = getcwd();
|
||||
$savedDirectory = $directory;
|
||||
var_dump(chdir($directory));
|
||||
create_directories();
|
||||
|
||||
@ -104,26 +107,29 @@ function test_open_basedir_after($function) {
|
||||
|
||||
// This is used by functions that return an array on success
|
||||
function test_open_basedir_array($function) {
|
||||
global $savedDirectory;
|
||||
|
||||
test_open_basedir_before($function);
|
||||
test_open_basedir_error($function);
|
||||
var_dump(is_array($function("./../.")));
|
||||
var_dump(is_array($function("../ok")));
|
||||
var_dump(is_array($function("ok.txt")));
|
||||
var_dump(is_array($function("../ok/ok.txt")));
|
||||
$directory = dirname(__FILE__);
|
||||
$directory = $savedDirectory;
|
||||
var_dump(is_array($function($directory."/test/ok/ok.txt")));
|
||||
var_dump(is_array($function($directory."/test/ok/../ok/ok.txt")));
|
||||
test_open_basedir_after($function);
|
||||
}
|
||||
|
||||
function test_open_basedir($function) {
|
||||
global $savedDirectory;
|
||||
test_open_basedir_before($function);
|
||||
test_open_basedir_error($function);
|
||||
var_dump($function("./../."));
|
||||
var_dump($function("../ok"));
|
||||
var_dump($function("ok.txt"));
|
||||
var_dump($function("../ok/ok.txt"));
|
||||
$directory = dirname(__FILE__);
|
||||
$directory = $savedDirectory;
|
||||
var_dump($function($directory."/test/ok/ok.txt"));
|
||||
var_dump($function($directory."/test/ok/../ok/ok.txt"));
|
||||
test_open_basedir_after($function);
|
||||
|
@ -6,7 +6,6 @@ open_basedir=.
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
test_open_basedir_before("chdir");
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
var_dump(chdir("../bad"));
|
||||
var_dump(chdir(".."));
|
||||
|
@ -5,8 +5,9 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
|
||||
test_open_basedir_before("chmod");
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
var_dump(chmod("../bad", 0600));
|
||||
var_dump(chmod("../bad/bad.txt", 0600));
|
||||
@ -17,12 +18,12 @@ var_dump(chmod("../bad/.", 0600));
|
||||
var_dump(chmod("../bad/./bad.txt", 0600));
|
||||
var_dump(chmod("./../.", 0600));
|
||||
|
||||
var_dump(chmod($directory."/test/ok/ok.txt", 0600));
|
||||
var_dump(chmod($initdir."/test/ok/ok.txt", 0600));
|
||||
var_dump(chmod("./ok.txt", 0600));
|
||||
var_dump(chmod("ok.txt", 0600));
|
||||
var_dump(chmod("../ok/ok.txt", 0600));
|
||||
var_dump(chmod("../ok/./ok.txt", 0600));
|
||||
chmod($directory."/test/ok/ok.txt", 0777);
|
||||
chmod($initdir."/test/ok/ok.txt", 0777);
|
||||
|
||||
test_open_basedir_after("chmod");
|
||||
?>
|
||||
|
@ -6,7 +6,6 @@ open_basedir=.
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
test_open_basedir_before("copy");
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
var_dump(copy("ok.txt", "../bad"));
|
||||
var_dump(copy("ok.txt", "../bad/bad.txt"));
|
||||
|
@ -6,7 +6,6 @@ open_basedir=.
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
test_open_basedir_before("copy");
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
var_dump(copy("../bad/bad.txt", "copy.txt"));
|
||||
var_dump(unlink("copy.txt"));
|
||||
|
@ -5,13 +5,14 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
|
||||
test_open_basedir_before("dir");
|
||||
test_open_basedir_error("dir");
|
||||
|
||||
$directory = dirname(__FILE__);
|
||||
var_dump(dir($directory."/test/ok/"));
|
||||
var_dump(dir($directory."/test/ok"));
|
||||
var_dump(dir($directory."/test/ok/../ok"));
|
||||
var_dump(dir($initdir."/test/ok/"));
|
||||
var_dump(dir($initdir."/test/ok"));
|
||||
var_dump(dir($initdir."/test/ok/../ok"));
|
||||
|
||||
test_open_basedir_after("dir");?>
|
||||
--CLEAN--
|
||||
|
@ -5,11 +5,11 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("disk_free_space");
|
||||
test_open_basedir_error("disk_free_space");
|
||||
$directory = dirname(__FILE__);
|
||||
var_dump(disk_free_space($directory."/test/ok"));
|
||||
|
||||
var_dump(disk_free_space($initdir."/test/ok"));
|
||||
test_open_basedir_after("disk_free_space");
|
||||
?>
|
||||
--CLEAN--
|
||||
|
@ -6,14 +6,15 @@ error_log=
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("error_log");
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
var_dump(ini_set("error_log", $directory."/test/bad/bad.txt"));
|
||||
var_dump(ini_set("error_log", $directory."/test/bad.txt"));
|
||||
var_dump(ini_set("error_log", $directory."/bad.txt"));
|
||||
var_dump(ini_set("error_log", $directory."/test/ok/ok.txt"));
|
||||
var_dump(ini_set("error_log", $directory."/test/ok/ok.txt"));
|
||||
|
||||
var_dump(ini_set("error_log", $initdir."/test/bad/bad.txt"));
|
||||
var_dump(ini_set("error_log", $initdir."/test/bad.txt"));
|
||||
var_dump(ini_set("error_log", $initdir."/bad.txt"));
|
||||
var_dump(ini_set("error_log", $initdir."/test/ok/ok.txt"));
|
||||
var_dump(ini_set("error_log", $initdir."/test/ok/ok.txt"));
|
||||
|
||||
test_open_basedir_after("error_log");
|
||||
?>
|
||||
|
@ -5,14 +5,15 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("error_log");
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
define("DESTINATION_IS_FILE", 3);
|
||||
|
||||
var_dump(error_log("Hello World!", DESTINATION_IS_FILE, $directory."/test/bad/bad.txt"));
|
||||
var_dump(error_log("Hello World!", DESTINATION_IS_FILE, $directory."/test/bad.txt"));
|
||||
var_dump(error_log("Hello World!", DESTINATION_IS_FILE, $directory."/bad.txt"));
|
||||
var_dump(error_log("Hello World!", DESTINATION_IS_FILE, $directory."/test/ok/ok.txt"));
|
||||
var_dump(error_log("Hello World!", DESTINATION_IS_FILE, $initdir."/test/bad/bad.txt"));
|
||||
var_dump(error_log("Hello World!", DESTINATION_IS_FILE, $initdir."/test/bad.txt"));
|
||||
var_dump(error_log("Hello World!", DESTINATION_IS_FILE, $initdir."/bad.txt"));
|
||||
var_dump(error_log("Hello World!", DESTINATION_IS_FILE, $initdir."/test/ok/ok.txt"));
|
||||
|
||||
test_open_basedir_after("error_log");
|
||||
?>
|
||||
|
@ -5,14 +5,14 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$directory = dirname(__FILE__);
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("file");
|
||||
test_open_basedir_error("file");
|
||||
|
||||
var_dump(file("ok.txt"));
|
||||
var_dump(file("../ok/ok.txt"));
|
||||
var_dump(file($directory."/test/ok/ok.txt"));
|
||||
var_dump(file($directory."/test/ok/../ok/ok.txt"));
|
||||
var_dump(file($initdir."/test/ok/ok.txt"));
|
||||
var_dump(file($initdir."/test/ok/../ok/ok.txt"));
|
||||
|
||||
test_open_basedir_after("file");
|
||||
?>
|
||||
|
@ -5,14 +5,14 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$directory = dirname(__FILE__);
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("file_get_contents");
|
||||
test_open_basedir_error("file_get_contents");
|
||||
|
||||
var_dump(file_get_contents("ok.txt"));
|
||||
var_dump(file_get_contents("../ok/ok.txt"));
|
||||
var_dump(file_get_contents($directory."/test/ok/ok.txt"));
|
||||
var_dump(file_get_contents($directory."/test/ok/../ok/ok.txt"));
|
||||
var_dump(file_get_contents($initdir."/test/ok/ok.txt"));
|
||||
var_dump(file_get_contents($initdir."/test/ok/../ok/ok.txt"));
|
||||
|
||||
test_open_basedir_after("file_get_contents");
|
||||
?>
|
||||
|
@ -5,14 +5,14 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("file_put_contents");
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
var_dump(file_put_contents("../bad/bad.txt", "Hello World!"));
|
||||
var_dump(file_put_contents(".././bad/bad.txt", "Hello World!"));
|
||||
var_dump(file_put_contents("../bad/../bad/bad.txt", "Hello World!"));
|
||||
var_dump(file_put_contents("./.././bad/bad.txt", "Hello World!"));
|
||||
var_dump(file_put_contents($directory."/test/bad/bad.txt", "Hello World!"));
|
||||
var_dump(file_put_contents($initdir."/test/bad/bad.txt", "Hello World!"));
|
||||
|
||||
test_open_basedir_after("file_put_contents");
|
||||
?>
|
||||
|
@ -5,8 +5,8 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("fopen");
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
var_dump(fopen("../bad", "r"));
|
||||
var_dump(fopen("../bad/bad.txt", "r"));
|
||||
@ -17,7 +17,7 @@ var_dump(fopen("../bad/.", "r"));
|
||||
var_dump(fopen("../bad/./bad.txt", "r"));
|
||||
var_dump(fopen("./../.", "r"));
|
||||
|
||||
var_dump(fopen($directory."/test/ok/ok.txt", "r"));
|
||||
var_dump(fopen($initdir."/test/ok/ok.txt", "r"));
|
||||
var_dump(fopen("./ok.txt", "r"));
|
||||
var_dump(fopen("ok.txt", "r"));
|
||||
var_dump(fopen("../ok/ok.txt", "r"));
|
||||
|
26
tests/security/open_basedir_glob_variation.phpt
Normal file
26
tests/security/open_basedir_glob_variation.phpt
Normal file
@ -0,0 +1,26 @@
|
||||
--TEST--
|
||||
Test open_basedir configuration for glob
|
||||
--INI--
|
||||
open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
$dir = "globtest1";
|
||||
$dir2 = "globtest2";
|
||||
mkdir($dir);
|
||||
mkdir($dir2);
|
||||
chdir($dir);
|
||||
var_dump(glob("../globtest*"));
|
||||
?>
|
||||
--CLEAN--
|
||||
<?php
|
||||
$dir = "globtest1";
|
||||
$dir2 = "globtest2";
|
||||
rmdir($dir);
|
||||
rmdir($dir2);
|
||||
?>
|
||||
--EXPECT--
|
||||
array(1) {
|
||||
[0]=>
|
||||
string(12) "../globtest1"
|
||||
}
|
||||
|
@ -5,14 +5,14 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("is_executable");
|
||||
test_open_basedir_error("is_executable");
|
||||
|
||||
var_dump(is_executable("ok.txt"));
|
||||
var_dump(is_executable("../ok/ok.txt"));
|
||||
$directory = dirname(__FILE__);
|
||||
var_dump(is_executable($directory."/test/ok/ok.txt"));
|
||||
var_dump(is_executable($directory."/test/ok/../ok/ok.txt"));
|
||||
var_dump(is_executable($initdir."/test/ok/ok.txt"));
|
||||
var_dump(is_executable($initdir."/test/ok/../ok/ok.txt"));
|
||||
|
||||
test_open_basedir_after("is_executable");
|
||||
?>
|
||||
|
@ -11,23 +11,23 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("link");
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
$target = ($directory."/test/ok/ok.txt");
|
||||
$target = ($initdir."/test/ok/ok.txt");
|
||||
var_dump(link($target, "../bad/link.txt"));
|
||||
var_dump(link($target, "../link.txt"));
|
||||
var_dump(link($target, "../bad/./link.txt"));
|
||||
var_dump(link($target, "./.././link.txt"));
|
||||
|
||||
$link = ($directory."/test/ok/link.txt");
|
||||
$link = ($initdir."/test/ok/link.txt");
|
||||
var_dump(link("../bad/bad.txt", $link));
|
||||
var_dump(link("../bad", $link));
|
||||
var_dump(link("../bad/./bad.txt", $link));
|
||||
var_dump(link("../bad/bad.txt", $link));
|
||||
var_dump(link("./.././bad", $link));
|
||||
|
||||
$target = ($directory."/test/ok/ok.txt");
|
||||
$target = ($initdir."/test/ok/ok.txt");
|
||||
|
||||
var_dump(link($target, $link));
|
||||
var_dump(unlink($link));
|
||||
|
@ -11,25 +11,25 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("linkinfo", FALSE);
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
chdir($directory);
|
||||
chdir($initdir);
|
||||
|
||||
$target = ($directory."/test/bad/bad.txt");
|
||||
$symlink = ($directory."/test/ok/symlink.txt");
|
||||
$target = ($initdir."/test/bad/bad.txt");
|
||||
$symlink = ($initdir."/test/ok/symlink.txt");
|
||||
var_dump(symlink($target, $symlink));
|
||||
|
||||
chdir($directory."/test/ok");
|
||||
chdir($initdir."/test/ok");
|
||||
|
||||
var_dump(linkinfo("symlink.txt"));
|
||||
var_dump(linkinfo("../ok/symlink.txt"));
|
||||
var_dump(linkinfo("../ok/./symlink.txt"));
|
||||
var_dump(linkinfo("./symlink.txt"));
|
||||
var_dump(linkinfo($directory."/test/ok/symlink.txt"));
|
||||
var_dump(linkinfo($initdir."/test/ok/symlink.txt"));
|
||||
|
||||
$target = ($directory."/test/ok/ok.txt");
|
||||
$symlink = ($directory."/test/ok/symlink.txt");
|
||||
$target = ($initdir."/test/ok/ok.txt");
|
||||
$symlink = ($initdir."/test/ok/symlink.txt");
|
||||
var_dump(symlink($target, $symlink));
|
||||
var_dump(linkinfo($symlink));
|
||||
var_dump(unlink($symlink));
|
||||
|
@ -11,16 +11,16 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("mkdir");
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
var_dump(mkdir("../bad/blah"));
|
||||
var_dump(mkdir("../blah"));
|
||||
var_dump(mkdir("../bad/./blah"));
|
||||
var_dump(mkdir("./.././blah"));
|
||||
|
||||
var_dump(mkdir($directory."/test/ok/blah"));
|
||||
var_dump(rmdir($directory."/test/ok/blah"));
|
||||
var_dump(mkdir($initdir."/test/ok/blah"));
|
||||
var_dump(rmdir($initdir."/test/ok/blah"));
|
||||
test_open_basedir_after("mkdir");
|
||||
?>
|
||||
--CLEAN--
|
||||
|
@ -5,13 +5,13 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("opendir");
|
||||
test_open_basedir_error("opendir");
|
||||
|
||||
$directory = dirname(__FILE__);
|
||||
var_dump(opendir($directory."/test/ok/"));
|
||||
var_dump(opendir($directory."/test/ok"));
|
||||
var_dump(opendir($directory."/test/ok/../ok"));
|
||||
var_dump(opendir($initdir."/test/ok/"));
|
||||
var_dump(opendir($initdir."/test/ok"));
|
||||
var_dump(opendir($initdir."/test/ok/../ok"));
|
||||
|
||||
test_open_basedir_after("opendir");?>
|
||||
--CLEAN--
|
||||
|
@ -11,25 +11,25 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("readlink", FALSE);
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
chdir($directory);
|
||||
chdir($initdir);
|
||||
|
||||
$target = ($directory."/test/bad/bad.txt");
|
||||
$symlink = ($directory."/test/ok/symlink.txt");
|
||||
$target = ($initdir."/test/bad/bad.txt");
|
||||
$symlink = ($initdir."/test/ok/symlink.txt");
|
||||
var_dump(symlink($target, $symlink));
|
||||
|
||||
chdir($directory."/test/ok");
|
||||
chdir($initdir."/test/ok");
|
||||
|
||||
var_dump(readlink("symlink.txt"));
|
||||
var_dump(readlink("../ok/symlink.txt"));
|
||||
var_dump(readlink("../ok/./symlink.txt"));
|
||||
var_dump(readlink("./symlink.txt"));
|
||||
var_dump(readlink($directory."/test/ok/symlink.txt"));
|
||||
var_dump(readlink($initdir."/test/ok/symlink.txt"));
|
||||
|
||||
$target = ($directory."/test/ok/ok.txt");
|
||||
$symlink = ($directory."/test/ok/symlink.txt");
|
||||
$target = ($initdir."/test/ok/ok.txt");
|
||||
$symlink = ($initdir."/test/ok/symlink.txt");
|
||||
var_dump(symlink($target, $symlink));
|
||||
var_dump(readlink($symlink));
|
||||
var_dump(unlink($symlink));
|
||||
|
@ -5,14 +5,14 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("rename");
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
var_dump(rename("../bad/bad.txt", "rename.txt"));
|
||||
var_dump(rename(".././bad/bad.txt", "rename.txt"));
|
||||
var_dump(rename("../bad/../bad/bad.txt", "rename.txt"));
|
||||
var_dump(rename("./.././bad/bad.txt", "rename.txt"));
|
||||
var_dump(rename($directory."/test/bad/bad.txt", "rename.txt"));
|
||||
var_dump(rename($initdir."/test/bad/bad.txt", "rename.txt"));
|
||||
|
||||
test_open_basedir_after("rename");
|
||||
?>
|
||||
|
@ -5,14 +5,14 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("rmdir");
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
var_dump(rmdir("../bad"));
|
||||
var_dump(rmdir(".././bad"));
|
||||
var_dump(rmdir("../bad/../bad"));
|
||||
var_dump(rmdir("./.././bad"));
|
||||
var_dump(rmdir($directory."/test/bad"));
|
||||
var_dump(rmdir($initdir."/test/bad"));
|
||||
|
||||
test_open_basedir_after("rmdir");
|
||||
?>
|
||||
|
@ -5,13 +5,13 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("scandir");
|
||||
test_open_basedir_error("scandir");
|
||||
|
||||
$directory = dirname(__FILE__);
|
||||
var_dump(scandir($directory."/test/ok/"));
|
||||
var_dump(scandir($directory."/test/ok"));
|
||||
var_dump(scandir($directory."/test/ok/../ok"));
|
||||
var_dump(scandir($initdir."/test/ok/"));
|
||||
var_dump(scandir($initdir."/test/ok"));
|
||||
var_dump(scandir($initdir."/test/ok/../ok"));
|
||||
|
||||
test_open_basedir_after("scandir");?>
|
||||
--CLEAN--
|
||||
@ -48,7 +48,7 @@ Warning: scandir(..): failed to open dir: %s in %s on line %d
|
||||
Warning: scandir(): (errno 1): %s in %s on line %d
|
||||
bool(false)
|
||||
|
||||
Warning: scandir(): open_basedir restriction in effect. File(../) is not within the allowed path(s): (.) in %s on line 80
|
||||
Warning: scandir(): open_basedir restriction in effect. File(../) is not within the allowed path(s): (.) in %s on line %d
|
||||
|
||||
Warning: scandir(../): failed to open dir: %s in %s on line %d
|
||||
|
||||
|
@ -11,30 +11,30 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("symlink");
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
$target = ($directory."/test/ok/ok.txt");
|
||||
$target = ($initdir."/test/ok/ok.txt");
|
||||
var_dump(symlink($target, "../bad/symlink.txt"));
|
||||
var_dump(symlink($target, "../symlink.txt"));
|
||||
var_dump(symlink($target, "../bad/./symlink.txt"));
|
||||
var_dump(symlink($target, "./.././symlink.txt"));
|
||||
|
||||
$symlink = ($directory."/test/ok/symlink.txt");
|
||||
$symlink = ($initdir."/test/ok/symlink.txt");
|
||||
var_dump(symlink("../bad/bad.txt", $symlink));
|
||||
var_dump(symlink("../bad", $symlink));
|
||||
var_dump(symlink("../bad/./bad.txt", $symlink));
|
||||
var_dump(symlink("../bad/bad.txt", $symlink));
|
||||
var_dump(symlink("./.././bad", $symlink));
|
||||
|
||||
$target = ($directory."/test/ok/ok.txt");
|
||||
$target = ($initdir."/test/ok/ok.txt");
|
||||
|
||||
var_dump(symlink($target, $symlink));
|
||||
var_dump(unlink($symlink));
|
||||
|
||||
var_dump(mkdir("ok2"));
|
||||
$symlink = ($directory."/test/ok/ok2/ok.txt");
|
||||
var_dump(symlink("../ok.txt", $symlink)); // $target == (dirname($symlink)."/".$target) == ($directory."/test/ok/ok.txt");
|
||||
$symlink = ($initdir."/test/ok/ok2/ok.txt");
|
||||
var_dump(symlink("../ok.txt", $symlink)); // $target == (dirname($symlink)."/".$target) == ($initdir."/test/ok/ok.txt");
|
||||
var_dump(unlink($symlink));
|
||||
|
||||
test_open_basedir_after("symlink");
|
||||
|
@ -5,8 +5,8 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("tempnam");
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
var_dump(tempnam("../bad", "test"));
|
||||
var_dump(tempnam("..", "test"));
|
||||
@ -14,8 +14,19 @@ var_dump(tempnam("../", "test"));
|
||||
var_dump(tempnam("/", "test"));
|
||||
var_dump(tempnam("../bad/.", "test"));
|
||||
var_dump(tempnam("./../.", "test"));
|
||||
var_dump(tempnam("", "test"));
|
||||
|
||||
$file = tempnam($directory."/test/ok", "test");
|
||||
//absolute test
|
||||
$file = tempnam($initdir."/test/ok", "test");
|
||||
var_dump($file);
|
||||
var_dump(unlink($file));
|
||||
|
||||
//relative test
|
||||
$file = tempnam(".", "test");
|
||||
var_dump($file);
|
||||
var_dump(unlink($file));
|
||||
|
||||
$file = tempnam("../ok", "test");
|
||||
var_dump($file);
|
||||
var_dump(unlink($file));
|
||||
|
||||
@ -51,6 +62,13 @@ bool(false)
|
||||
|
||||
Warning: tempnam(): open_basedir restriction in effect. File(./../.) is not within the allowed path(s): (.) in %s on line %d
|
||||
bool(false)
|
||||
|
||||
Warning: tempnam(): open_basedir restriction in effect. File() is not within the allowed path(s): (.) in %s on line %d
|
||||
bool(false)
|
||||
string(%d) "%s"
|
||||
bool(true)
|
||||
string(%d) "%s"
|
||||
bool(true)
|
||||
string(%d) "%s"
|
||||
bool(true)
|
||||
*** Finished testing open_basedir configuration [tempnam] ***
|
||||
|
@ -5,8 +5,8 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("touch");
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
var_dump(touch("../bad"));
|
||||
var_dump(touch("../bad/bad.txt"));
|
||||
@ -17,7 +17,7 @@ var_dump(touch("../bad/."));
|
||||
var_dump(touch("../bad/./bad.txt"));
|
||||
var_dump(touch("./../."));
|
||||
|
||||
var_dump(touch($directory."/test/ok/ok.txt"));
|
||||
var_dump(touch($initdir."/test/ok/ok.txt"));
|
||||
var_dump(touch("./ok.txt"));
|
||||
var_dump(touch("ok.txt"));
|
||||
var_dump(touch("../ok/ok.txt"));
|
||||
|
@ -5,14 +5,14 @@ open_basedir=.
|
||||
--FILE--
|
||||
<?php
|
||||
require_once "open_basedir.inc";
|
||||
$initdir = getcwd();
|
||||
test_open_basedir_before("unlink");
|
||||
$directory = dirname(__FILE__);
|
||||
|
||||
var_dump(unlink("../bad/bad.txt"));
|
||||
var_dump(unlink(".././bad/bad.txt"));
|
||||
var_dump(unlink("../bad/../bad/bad.txt"));
|
||||
var_dump(unlink("./.././bad/bad.txt"));
|
||||
var_dump(unlink($directory."/test/bad/bad.txt"));
|
||||
var_dump(unlink($initdir."/test/bad/bad.txt"));
|
||||
|
||||
test_open_basedir_after("unlink");
|
||||
?>
|
||||
|
Loading…
Reference in New Issue
Block a user