Annotation of embedaddon/php/ext/phar/tests/security.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Phar: test to ensure phar.readonly cannot be circumvented
! 3: --SKIPIF--
! 4: <?php if (!extension_loaded("phar")) die("skip");?>
! 5: --INI--
! 6: phar.readonly=0
! 7: --FILE--
! 8: <?php
! 9: $fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.php';
! 10: $fname2 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.1.php';
! 11: $a = new Phar($fname);
! 12: $a->setStub('<?php
! 13: Phar::mapPhar();
! 14: $phar = new Phar(__FILE__);
! 15: var_dump($phar->isWritable());
! 16: try {
! 17: $phar["b"] = "should not work!";
! 18: } catch (Exception $e) {
! 19: echo $e->getMessage(),"\n";
! 20: }
! 21: __HALT_COMPILER();
! 22: ?>');
! 23: $a['hi'] = 'hi';
! 24: unset($a);
! 25: copy($fname, $fname2);
! 26: Phar::unlinkArchive($fname);
! 27: ini_set('phar.readonly', 1);
! 28: include $fname2;
! 29: ?>
! 30: ===DONE===
! 31: --CLEAN--
! 32: <?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.1.php'); ?>
! 33: --EXPECT--
! 34: bool(false)
! 35: Write operations disabled by the php.ini setting phar.readonly
! 36: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>