Annotation of embedaddon/php/ext/phar/tests/security.phpt, revision 1.1.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>