diff options
Diffstat (limited to 'ext/sqlite3/tests/sqlite3_21_security.phpt')
-rw-r--r-- | ext/sqlite3/tests/sqlite3_21_security.phpt | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/ext/sqlite3/tests/sqlite3_21_security.phpt b/ext/sqlite3/tests/sqlite3_21_security.phpt new file mode 100644 index 0000000..7e83bb2 --- /dev/null +++ b/ext/sqlite3/tests/sqlite3_21_security.phpt @@ -0,0 +1,39 @@ +--TEST-- +SQLite3 open_basedir checks +--SKIPIF-- +<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?> +--INI-- +open_basedir=. +--FILE-- +<?php +$directory = dirname(__FILE__) . '/'; +$file = uniqid() . '.db'; + +echo "Within test directory\n"; +$db = new SQLite3($directory . $file); +var_dump($db); +var_dump($db->close()); +unlink($directory . $file); + +echo "Above test directory\n"; +try { + $db = new SQLite3('../bad' . $file); +} catch (Exception $e) { + echo $e . "\n"; +} + +echo "Done\n"; +?> +--EXPECTF-- +Within test directory +object(SQLite3)#%d (0) { +} +bool(true) +Above test directory + +Warning: SQLite3::__construct(): open_basedir restriction in effect. File(%s) is not within the allowed path(s): (.) in %ssqlite3_21_security.php on line %d +exception 'Exception' with message 'open_basedir prohibits opening %s' in %ssqlite3_21_security.php:%d +Stack trace: +#0 %ssqlite3_21_security.php(%d): SQLite3->__construct('%s') +#1 {main} +Done |