Return to open_basedir_symlink.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / security |
1.1 ! misho 1: --TEST-- ! 2: Test open_basedir configuration ! 3: --SKIPIF-- ! 4: <?php ! 5: if (substr(PHP_OS, 0, 3) == 'WIN') { ! 6: die('skip no symlinks on Windows'); ! 7: } ! 8: ?> ! 9: --INI-- ! 10: open_basedir=. ! 11: --FILE-- ! 12: <?php ! 13: require_once "open_basedir.inc"; ! 14: $initdir = getcwd(); ! 15: test_open_basedir_before("symlink"); ! 16: ! 17: $target = ($initdir."/test/ok/ok.txt"); ! 18: var_dump(symlink($target, "../bad/symlink.txt")); ! 19: var_dump(symlink($target, "../symlink.txt")); ! 20: var_dump(symlink($target, "../bad/./symlink.txt")); ! 21: var_dump(symlink($target, "./.././symlink.txt")); ! 22: ! 23: $symlink = ($initdir."/test/ok/symlink.txt"); ! 24: var_dump(symlink("../bad/bad.txt", $symlink)); ! 25: var_dump(symlink("../bad", $symlink)); ! 26: var_dump(symlink("../bad/./bad.txt", $symlink)); ! 27: var_dump(symlink("../bad/bad.txt", $symlink)); ! 28: var_dump(symlink("./.././bad", $symlink)); ! 29: ! 30: $target = ($initdir."/test/ok/ok.txt"); ! 31: ! 32: var_dump(symlink($target, $symlink)); ! 33: var_dump(unlink($symlink)); ! 34: ! 35: var_dump(mkdir("ok2")); ! 36: $symlink = ($initdir."/test/ok/ok2/ok.txt"); ! 37: var_dump(symlink("../ok.txt", $symlink)); // $target == (dirname($symlink)."/".$target) == ($initdir."/test/ok/ok.txt"); ! 38: var_dump(unlink($symlink)); ! 39: ! 40: test_open_basedir_after("symlink"); ! 41: ?> ! 42: --CLEAN-- ! 43: <?php ! 44: require_once "open_basedir.inc"; ! 45: delete_directories(); ! 46: ?> ! 47: --EXPECTF-- ! 48: *** Testing open_basedir configuration [symlink] *** ! 49: bool(true) ! 50: bool(true) ! 51: bool(true) ! 52: bool(true) ! 53: bool(true) ! 54: ! 55: Warning: symlink(): open_basedir restriction in effect. File(%s/test/bad/symlink.txt) is not within the allowed path(s): (.) in %s on line %d ! 56: bool(false) ! 57: ! 58: Warning: symlink(): open_basedir restriction in effect. File(%s/test/symlink.txt) is not within the allowed path(s): (.) in %s on line %d ! 59: bool(false) ! 60: ! 61: Warning: symlink(): open_basedir restriction in effect. File(%s/test/bad/symlink.txt) is not within the allowed path(s): (.) in %s on line %d ! 62: bool(false) ! 63: ! 64: Warning: symlink(): open_basedir restriction in effect. File(%s/test/symlink.txt) is not within the allowed path(s): (.) in %s on line %d ! 65: bool(false) ! 66: ! 67: Warning: symlink(): open_basedir restriction in effect. File(%s/test/bad/bad.txt) is not within the allowed path(s): (.) in %s on line %d ! 68: bool(false) ! 69: ! 70: Warning: symlink(): open_basedir restriction in effect. File(%s/test/bad) is not within the allowed path(s): (.) in %s on line %d ! 71: bool(false) ! 72: ! 73: Warning: symlink(): open_basedir restriction in effect. File(%s/test/bad/bad.txt) is not within the allowed path(s): (.) in %s on line %d ! 74: bool(false) ! 75: ! 76: Warning: symlink(): open_basedir restriction in effect. File(%s/test/bad/bad.txt) is not within the allowed path(s): (.) in %s on line %d ! 77: bool(false) ! 78: ! 79: Warning: symlink(): open_basedir restriction in effect. File(%s/test/bad) is not within the allowed path(s): (.) in %s on line %d ! 80: bool(false) ! 81: bool(true) ! 82: bool(true) ! 83: bool(true) ! 84: bool(true) ! 85: bool(true) ! 86: *** Finished testing open_basedir configuration [symlink] *** ! 87: