function method() { $this->yes++; }
}
-session_id("abtest");
+session_id("test003");
session_start();
session_decode('baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:1;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:1;}}');
session_set_save_handler(array($hnd, "open"), array($hnd, "close"), array($hnd, "read"), array($hnd, "write"), array($hnd, "destroy"), array($hnd, "gc"));
-session_id("abtest");
+session_id("test004");
session_start();
$_SESSION["baz"]->method();
$_SESSION["arr"][3]->method();
?>
--EXPECT--
OPEN: PHPSESSID
-READ: abtest
+READ: test004
object(foo)#2 (2) {
["bar"]=>
string(2) "ok"
int(2)
}
}
-WRITE: abtest, baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}}
+WRITE: test004, baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}}
OPEN: PHPSESSID
-READ: abtest
+READ: test004
object(foo)#3 (2) {
["bar"]=>
string(2) "ok"
int(2)
}
}
-DESTROY: abtest
+DESTROY: test004
session_set_save_handler(array($hnd, "open"), array($hnd, "close"), array($hnd, "read"), array($hnd, "write"), array($hnd, "destroy"), array($hnd, "gc"));
-session_id("abtest");
+session_id("test005");
session_start();
session_decode($hnd->data);
?>
--EXPECT--
OPEN: PHPSESSID
-READ: abtest
+READ: test005
object(foo)#4 (2) {
["bar"]=>
string(2) "ok"
int(2)
}
}
-WRITE: abtest, baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}}
+WRITE: test005, baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}}
CLOSE
OPEN: PHPSESSID
-READ: abtest
+READ: test005
object(foo)#2 (2) {
["bar"]=>
string(2) "ok"
}
}
int(123)
-WRITE: abtest, baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:3;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:3;}}c|i:123;
+WRITE: test005, baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:3;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:3;}}c|i:123;
CLOSE
OPEN: PHPSESSID
-READ: abtest
+READ: test005
object(foo)#4 (2) {
["bar"]=>
string(2) "ok"
}
}
int(123)
-DESTROY: abtest
+DESTROY: test005
CLOSE
error_reporting(E_ALL);
ob_start();
-session_id("abtest");
+session_id("test006");
session_start();
class a {
error_reporting(E_ALL);
ob_start();
-session_id("abtest");
+session_id("test009");
### Phase 1 cleanup
session_start();
session_destroy();
### Phase 2 $_SESSION["c"] does not contain any value
-session_id("abtest");
+session_id("test009");
session_start();
var_dump($_SESSION);
$_SESSION["name"] = "foo";
### Absurd example, value of $_SESSION does not matter
-session_id("abtest");
+session_id("test012");
session_start();
$_SESSION["_SESSION"] = Array();
$_SESSION = "kk";
<?php
error_reporting(E_ALL);
-session_id("abtest");
+session_id("test013");
session_start();
session_destroy();
-session_id("abtest2");
+session_id("test013-2");
session_start();
session_destroy();
<?php
error_reporting(E_ALL);
-session_id("abtest");
+session_id("test014");
session_start();
?>
<?php
error_reporting(E_ALL);
-session_id("abtest");
+session_id("test015");
session_start();
?>
<a href="/link?<?php echo SID; ?>">
session_destroy();
?>
--EXPECT--
-<a href="/link?PHPSESSID=abtest&PHPSESSID=abtest">
+<a href="/link?PHPSESSID=test015&PHPSESSID=test015">
error_reporting(E_ALL);
-session_id("abtest");
+session_id("test018");
session_start();
?>
<form accept-charset="ISO-8859-15, ISO-8859-1" action=url.php>
session_destroy();
?>
--EXPECT--
-<form accept-charset="ISO-8859-15, ISO-8859-1" action=url.php><input type="hidden" name="PHPSESSID" value="abtest" />
+<form accept-charset="ISO-8859-15, ISO-8859-1" action=url.php><input type="hidden" name="PHPSESSID" value="test018" />
}
}
-session_id("abtest");
+session_id("test019");
session_start();
$_SESSION["o1"] = new TFoo(42);
error_reporting(E_ALL);
-session_id("abtest");
+session_id("test020");
session_start();
?>
<a href="link.php?a=b">
session_destroy();
?>
--EXPECT--
-<a href="link.php?a=b&PHPSESSID=abtest">
+<a href="link.php?a=b&PHPSESSID=test020">
ini_set('session.trans_sid_hosts', 'php.net');
$_SERVER['HTTP_HOST'] = 'php.net';
-session_id("abtest");
+session_id("test021");
session_start();
?>
<form action="//bad.net/do.php">
--EXPECT--
<form action="//bad.net/do.php">
<fieldset>
-<form action="//php.net/do.php"><input type="hidden" name="PHPSESSID" value="abtest" />
+<form action="//php.net/do.php"><input type="hidden" name="PHPSESSID" value="test021" />
<fieldset>
-<form action="../do.php"><input type="hidden" name="PHPSESSID" value="abtest" />
+<form action="../do.php"><input type="hidden" name="PHPSESSID" value="test021" />
<fieldset>
-<form action="/do.php"><input type="hidden" name="PHPSESSID" value="abtest" />
+<form action="/do.php"><input type="hidden" name="PHPSESSID" value="test021" />
<fieldset>
-<form action="/foo/do.php"><input type="hidden" name="PHPSESSID" value="abtest" />
+<form action="/foo/do.php"><input type="hidden" name="PHPSESSID" value="test021" />
<fieldset>
function method() { $this->yes++; }
}
-session_id("abtest");
+session_id("test023");
session_start();
session_decode('baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:1;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:1;}}');
$baz = $_SESSION['baz'];
session_set_save_handler(array($hnd, "open"), array($hnd, "close"), array($hnd, "read"), array($hnd, "write"), array($hnd, "destroy"), array($hnd, "gc"));
-session_id("abtest");
+session_id("test024");
session_start();
$baz = $_SESSION['baz'];
?>
--EXPECTF--
OPEN: PHPSESSID
-READ: abtest
+READ: test024
object(foo)#%d (2) {
["bar"]=>
string(2) "ok"
int(2)
}
}
-WRITE: abtest, baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}}
+WRITE: test024, baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}}
OPEN: PHPSESSID
-READ: abtest
+READ: test024
object(foo)#%d (2) {
["bar"]=>
string(2) "ok"
int(2)
}
}
-DESTROY: abtest
+DESTROY: test024
session_set_save_handler(array($hnd, "open"), array($hnd, "close"), array($hnd, "read"), array($hnd, "write"), array($hnd, "destroy"), array($hnd, "gc"));
-session_id("abtest");
+session_id("test025");
session_start();
$baz = $_SESSION['baz'];
$arr = $_SESSION['arr'];
?>
--EXPECTF--
OPEN: PHPSESSID
-READ: abtest
+READ: test025
object(foo)#%d (2) {
["bar"]=>
string(2) "ok"
int(2)
}
}
-WRITE: abtest, baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}}
+WRITE: test025, baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}}
CLOSE
OPEN: PHPSESSID
-READ: abtest
+READ: test025
object(foo)#%d (2) {
["bar"]=>
string(2) "ok"
}
}
int(123)
-WRITE: abtest, baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:3;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:3;}}c|i:123;
+WRITE: test025, baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:3;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:3;}}c|i:123;
CLOSE
OPEN: PHPSESSID
-READ: abtest
+READ: test025
object(foo)#%d (2) {
["bar"]=>
string(2) "ok"
}
}
int(123)
-DESTROY: abtest
+DESTROY: test025
CLOSE
error_reporting(E_ALL);
ob_start();
-session_id("abtest");
+session_id("test026");
session_start();
class a {
error_reporting(E_ALL);
ob_start();
-session_id("abtest");
+session_id("test027");
### Phase 1 cleanup
session_start();
session_destroy();
### Phase 2 $_SESSION["c"] does not contain any value
-session_id("abtest");
+session_id("test027");
session_start();
var_dump($_SESSION);
$_SESSION["name"] = "foo";
error_reporting(E_ALL);
-session_id("abtest");
+session_id("bug41600");
session_start();
?>
<a href="link.php?a=b">
session_destroy();
?>
--EXPECT--
-<a href="link.php?a=b&PHPSESSID=abtest">
+<a href="link.php?a=b&PHPSESSID=bug41600">
session.save_handler=files
--FILE--
<?php
-$sessdir = __DIR__.'/sessions/';
+$sessdir = __DIR__.'/bug42596/';
@rmdir($sessdir);
mkdir($sessdir);
$save_path = '0;0777;'.$sessdir;
--SKIPIF--
<?php include('skipif.inc'); ?>
--COOKIE--
-PHPSESSID=rfc1867-tests
+PHPSESSID=rfc1867
--GET--
-PHPSESSID=rfc1867-tests-get
+PHPSESSID=rfc1867-get
--POST_RAW--
Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHPSESSID"
-rfc1867-tests-post
+rfc1867-post
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHP_SESSION_UPLOAD_PROGRESS"
session_destroy();
?>
--EXPECTF--
-string(%d) "rfc1867-tests"
+string(%d) "rfc1867"
bool(true)
array(2) {
["file1"]=>
--SKIPIF--
<?php include('skipif.inc'); ?>
--COOKIE--
-PHPSESSID=rfc1867-tests
+PHPSESSID=rfc1867-cleanup
--GET--
-PHPSESSID=rfc1867-tests-get
+PHPSESSID=rfc1867-cleanup-get
--POST_RAW--
Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHPSESSID"
-rfc1867-tests-post
+rfc1867-cleanup-post
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHP_SESSION_UPLOAD_PROGRESS"
session_destroy();
?>
--EXPECTF--
-string(%d) "rfc1867-tests"
+string(%d) "rfc1867-cleanup"
bool(true)
array(2) {
["file1"]=>
--SKIPIF--
<?php include('skipif.inc'); ?>
--COOKIE--
-PHPSESSID=rfc1867-tests
+PHPSESSID=rfc1867-disabled
--GET--
-PHPSESSID=rfc1867-tests-get
+PHPSESSID=rfc1867-disabled-get
--POST_RAW--
Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHPSESSID"
-rfc1867-tests-post
+rfc1867-disabled-post
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="file1"; filename="file1.txt"
session_destroy();
?>
--EXPECTF--
-string(%d) "rfc1867-tests"
+string(%d) "rfc1867-disabled"
array(2) {
["file1"]=>
array(5) {
--SKIPIF--
<?php include('skipif.inc'); ?>
--COOKIE--
-PHPSESSID=rfc1867-tests
+PHPSESSID=rfc1867-disabled-2
--GET--
-PHPSESSID=rfc1867-tests-get
+PHPSESSID=rfc1867-disabled-2-get
--POST_RAW--
Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHPSESSID"
-rfc1867-tests-post
+rfc1867-disabled-2-post
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="file1"; filename="file1.txt"
session_destroy();
?>
--EXPECTF--
-string(%d) "rfc1867-tests"
+string(%d) "rfc1867-disabled-2"
array(2) {
["file1"]=>
array(5) {
--SKIPIF--
<?php include('skipif.inc'); ?>
--COOKIE--
-PHPSESSID=rfc1867-tests
+PHPSESSID=rfc1867-inter
--GET--
-PHPSESSID=rfc1867-tests-get
+PHPSESSID=rfc1867-inter-get
--POST_RAW--
Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHPSESSID"
-rfc1867-tests-post
+rfc1867-inter-post
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHP_SESSION_UPLOAD_PROGRESS"
session_destroy();
?>
--EXPECTF--
-string(%d) "rfc1867-tests"
+string(%d) "rfc1867-inter"
array(2) {
["file1"]=>
array(5) {
--SKIPIF--
<?php include('skipif.inc'); ?>
--COOKIE--
-PHPSESSID=rfc1867-tests
+PHPSESSID=rfc1867-no-name
--GET--
-PHPSESSID=rfc1867-tests-get
+PHPSESSID=rfc1867-no-name-get
--POST_RAW--
Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHPSESSID"
-rfc1867-tests-post
+rfc1867-no-name-post
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="file1"; filename="file1.txt"
session_destroy();
?>
--EXPECTF--
-string(%d) "rfc1867-tests"
+string(%d) "rfc1867-no-name"
array(2) {
["file1"]=>
array(5) {
--SKIPIF--
<?php include('skipif.inc'); ?>
--COOKIE--
-PHPSESSID=rfc1867-tests
+PHPSESSID=rfc1867-sid-cookie
--GET--
-PHPSESSID=rfc1867-tests-get
+PHPSESSID=rfc1867-sid-cookie-get
--POST_RAW--
Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHPSESSID"
-rfc1867-tests-post
+rfc1867-sid-cookie-post
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHP_SESSION_UPLOAD_PROGRESS"
session_destroy();
?>
--EXPECTF--
-string(%d) "rfc1867-tests"
+string(%d) "rfc1867-sid-cookie"
bool(true)
array(2) {
["file1"]=>
--SKIPIF--
<?php include('skipif.inc'); ?>
--GET--
-PHPSESSID=rfc1867-tests
+PHPSESSID=rfc1867-sid-get
--POST_RAW--
Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHPSESSID"
-rfc1867-tests-post
+rfc1867-sid-get-post
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHP_SESSION_UPLOAD_PROGRESS"
session_destroy();
?>
--EXPECTF--
-string(%d) "rfc1867-tests"
+string(%d) "rfc1867-sid-get"
bool(true)
array(2) {
["file1"]=>
--SKIPIF--
<?php include('skipif.inc'); ?>
--COOKIE--
-PHPSESSID=rfc1867-tests-cookie
+PHPSESSID=rfc1867-sid-get-2-cookie
--GET--
-PHPSESSID=rfc1867-tests
+PHPSESSID=rfc1867-sid-get-2
--POST_RAW--
Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHPSESSID"
-rfc1867-tests-post
+rfc1867-sid-get-2-post
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHP_SESSION_UPLOAD_PROGRESS"
session_destroy();
?>
--EXPECTF--
-string(%d) "rfc1867-tests"
+string(%d) "rfc1867-sid-get-2"
bool(true)
array(2) {
["file1"]=>
--SKIPIF--
<?php include('skipif.inc'); ?>
--COOKIE--
-PHPSESSID=rfc1867-tests
+PHPSESSID=rfc1867-sid-only-cookie
--GET--
-PHPSESSID=rfc1867-tests-get
+PHPSESSID=rfc1867-sid-only-cookie-get
--POST_RAW--
Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHPSESSID"
-rfc1867-tests-post
+rfc1867-sid-only-cookie-post
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHP_SESSION_UPLOAD_PROGRESS"
session_destroy();
?>
--EXPECTF--
-string(%d) "rfc1867-tests"
+string(%d) "rfc1867-sid-only-cookie"
bool(true)
array(2) {
["file1"]=>
--SKIPIF--
<?php include('skipif.inc'); ?>
--GET--
-PHPSESSID=rfc1867-tests-get
+PHPSESSID=rfc1867-sid-only-cookie-2-get
--POST_RAW--
Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHPSESSID"
-rfc1867-tests-post
+rfc1867-sid-only-cookie-2-post
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHP_SESSION_UPLOAD_PROGRESS"
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHPSESSID"
-rfc1867-tests
+rfc1867-sid-post
-----------------------------20896060251896012921717172737
Content-Disposition: form-data; name="PHP_SESSION_UPLOAD_PROGRESS"
session_destroy();
?>
--EXPECTF--
-string(%d) "rfc1867-tests"
+string(%d) "rfc1867-sid-post"
bool(true)
array(2) {
["file1"]=>
echo "*** Testing basic session functionality : variation1 ***\n";
-$session_id = 'testid';
+$session_id = 'session-basic1';
session_id($session_id);
$path = __DIR__;
var_dump(session_save_path($path));
*** Testing basic session functionality : variation1 ***
string(0) ""
*** Without lazy_write ***
-string(6) "testid"
+string(14) "session-basic1"
bool(true)
array(1) {
["lazy_write"]=>
bool(false)
}
bool(true)
-string(6) "testid"
+string(14) "session-basic1"
*** With lazy_write ***
-string(6) "testid"
+string(14) "session-basic1"
bool(true)
bool(true)
-string(6) "testid"
+string(14) "session-basic1"
*** Cleanup ***
-string(6) "testid"
+string(14) "session-basic1"
bool(true)
bool(true)
echo "*** Testing basic session functionality : variation2 ***\n";
-$session_id = 'testid';
+$session_id = 'session-basic2';
session_id($session_id);
$path = __DIR__;
var_dump(session_save_path($path));
*** Testing basic session functionality : variation2 ***
string(0) ""
*** Without lazy_write ***
-string(6) "testid"
+string(14) "session-basic2"
bool(true)
bool(true)
bool(true)
echo "*** Test trans sid ***\n";
ob_start();
-$session_id = 'testid';
+$session_id = 'session-basic3';
session_id($session_id);
session_start();
// Should add session ID to relative URL only for SECURITY
*** Testing basic session functionality : variation3 use_trans_sid ***
*** Test trans sid ***
-<a href="/?PHPSESSID=testid">test</a>
-<a href="/path?PHPSESSID=testid">test</a>
-<a href="/path/?PHPSESSID=testid">test</a>
-<a href="/path/?foo=var&PHPSESSID=testid">test</a>
-<a href="../?PHPSESSID=testid">test</a>
-<a href="../path?PHPSESSID=testid">test</a>
-<a href="../path/?PHPSESSID=testid">test</a>
-<a href="../path/?foo=var&PHPSESSID=testid">test</a>
+<a href="/?PHPSESSID=session-basic3">test</a>
+<a href="/path?PHPSESSID=session-basic3">test</a>
+<a href="/path/?PHPSESSID=session-basic3">test</a>
+<a href="/path/?foo=var&PHPSESSID=session-basic3">test</a>
+<a href="../?PHPSESSID=session-basic3">test</a>
+<a href="../path?PHPSESSID=session-basic3">test</a>
+<a href="../path/?PHPSESSID=session-basic3">test</a>
+<a href="../path/?foo=var&PHPSESSID=session-basic3">test</a>
-<a href="/?PHPSESSID=testid#bar">test</a>
-<a href="/path/?PHPSESSID=testid#bar">test</a>
-<a href="/path/?foo=var&PHPSESSID=testid#bar">test</a>
-<a href="../?PHPSESSID=testid#bar">test</a>
-<a href="../path/?PHPSESSID=testid#bar">test</a>
-<a href="../path/?foo=var&PHPSESSID=testid#bar">test</a>
+<a href="/?PHPSESSID=session-basic3#bar">test</a>
+<a href="/path/?PHPSESSID=session-basic3#bar">test</a>
+<a href="/path/?foo=var&PHPSESSID=session-basic3#bar">test</a>
+<a href="../?PHPSESSID=session-basic3#bar">test</a>
+<a href="../path/?PHPSESSID=session-basic3#bar">test</a>
+<a href="../path/?foo=var&PHPSESSID=session-basic3#bar">test</a>
-<a href="/?foo&PHPSESSID=testid">test</a>
-<a href="/?foo&PHPSESSID=testid#bar">test</a>
-<a href="/?foo=var&PHPSESSID=testid">test</a>
-<a href="/?foo=var&PHPSESSID=testid#bar">test</a>
-<a href="../?foo&PHPSESSID=testid">test</a>
-<a href="../?foo&PHPSESSID=testid#bar">test</a>
-<a href="../?foo=var&PHPSESSID=testid">test</a>
-<a href="../?foo=var&PHPSESSID=testid#bar">test</a>
+<a href="/?foo&PHPSESSID=session-basic3">test</a>
+<a href="/?foo&PHPSESSID=session-basic3#bar">test</a>
+<a href="/?foo=var&PHPSESSID=session-basic3">test</a>
+<a href="/?foo=var&PHPSESSID=session-basic3#bar">test</a>
+<a href="../?foo&PHPSESSID=session-basic3">test</a>
+<a href="../?foo&PHPSESSID=session-basic3#bar">test</a>
+<a href="../?foo=var&PHPSESSID=session-basic3">test</a>
+<a href="../?foo=var&PHPSESSID=session-basic3#bar">test</a>
-<a href="file.php?PHPSESSID=testid">test</a>
-<a href="file.php?foo&PHPSESSID=testid">test</a>
-<a href="file.php?foo=var&PHPSESSID=testid">test</a>
-<a href="file.php?foo=var&PHPSESSID=testid#bar">test</a>
-<a href="../file.php?PHPSESSID=testid">test</a>
-<a href="../file.php?foo&PHPSESSID=testid">test</a>
-<a href="../file.php?foo=var&PHPSESSID=testid">test</a>
-<a href="../file.php?foo=var&PHPSESSID=testid#bar">test</a>
+<a href="file.php?PHPSESSID=session-basic3">test</a>
+<a href="file.php?foo&PHPSESSID=session-basic3">test</a>
+<a href="file.php?foo=var&PHPSESSID=session-basic3">test</a>
+<a href="file.php?foo=var&PHPSESSID=session-basic3#bar">test</a>
+<a href="../file.php?PHPSESSID=session-basic3">test</a>
+<a href="../file.php?foo&PHPSESSID=session-basic3">test</a>
+<a href="../file.php?foo=var&PHPSESSID=session-basic3">test</a>
+<a href="../file.php?foo=var&PHPSESSID=session-basic3#bar">test</a>
<a href="http://php.net">test</a>
<a href="http://php.net/">test</a>
<a href="//php.net/some/path/file.php?foo=var">test</a>
<a href="//php.net/some/path/file.php?foo=var#bar">test</a>
-<form action="script.php" method="post"><input type="hidden" name="PHPSESSID" value="testid" />
+<form action="script.php" method="post"><input type="hidden" name="PHPSESSID" value="session-basic3" />
<input type="text" name="test1"></input>
<input type="text" name="test2" />
</form>
-<form action="../script.php" method="post"><input type="hidden" name="PHPSESSID" value="testid" />
+<form action="../script.php" method="post"><input type="hidden" name="PHPSESSID" value="session-basic3" />
<input type="text" name="test1"></input>
<input type="text" name="test2" />
</form>
-<form action="/path/script.php" method="post"><input type="hidden" name="PHPSESSID" value="testid" />
+<form action="/path/script.php" method="post"><input type="hidden" name="PHPSESSID" value="session-basic3" />
<input type="text" name="test1"></input>
<input type="text" name="test2" />
</form>
-<form action="../path/script.php" method="post"><input type="hidden" name="PHPSESSID" value="testid" />
+<form action="../path/script.php" method="post"><input type="hidden" name="PHPSESSID" value="session-basic3" />
<input type="text" name="test1"></input>
<input type="text" name="test2" />
</form>
bool(true)
*** Cleanup ***
bool(true)
-string(6) "testid"
+string(14) "session-basic3"
bool(true)
echo "*** Testing basic session functionality : variation5 use_trans_sid ***\n";
echo "*** Test trans sid ***\n";
-$session_id = 'testid';
+$session_id = 'session-basic5';
session_id($session_id);
session_start();
// Should add session ID to allowed hosts only for SECURITY
*** Testing basic session functionality : variation5 use_trans_sid ***
*** Test trans sid ***
-<a href="/?PHPSESSID=testid">test</a>
-<a href="/path?PHPSESSID=testid">test</a>
-<a href="/path/?PHPSESSID=testid">test</a>
-<a href="/path/?foo=var&PHPSESSID=testid">test</a>
-<a href="../?PHPSESSID=testid">test</a>
-<a href="../path?PHPSESSID=testid">test</a>
-<a href="../path/?PHPSESSID=testid">test</a>
-<a href="../path/?foo=var&PHPSESSID=testid">test</a>
-
-<a href="/?PHPSESSID=testid#bar">test</a>
-<a href="/path/?PHPSESSID=testid#bar">test</a>
-<a href="/path/?foo=var&PHPSESSID=testid#bar">test</a>
-<a href="../?PHPSESSID=testid#bar">test</a>
-<a href="../path/?PHPSESSID=testid#bar">test</a>
-<a href="../path/?foo=var&PHPSESSID=testid#bar">test</a>
-
-<a href="/?foo&PHPSESSID=testid">test</a>
-<a href="/?foo&PHPSESSID=testid#bar">test</a>
-<a href="/?foo=var&PHPSESSID=testid">test</a>
-<a href="/?foo=var&PHPSESSID=testid#bar">test</a>
-<a href="../?foo&PHPSESSID=testid">test</a>
-<a href="../?foo&PHPSESSID=testid#bar">test</a>
-<a href="../?foo=var&PHPSESSID=testid">test</a>
-<a href="../?foo=var&PHPSESSID=testid#bar">test</a>
-
-<a href="file.php?PHPSESSID=testid">test</a>
-<a href="file.php?foo&PHPSESSID=testid">test</a>
-<a href="file.php?foo=var&PHPSESSID=testid">test</a>
-<a href="file.php?foo=var&PHPSESSID=testid#bar">test</a>
-<a href="../file.php?PHPSESSID=testid">test</a>
-<a href="../file.php?foo&PHPSESSID=testid">test</a>
-<a href="../file.php?foo=var&PHPSESSID=testid">test</a>
-<a href="../file.php?foo=var&PHPSESSID=testid#bar">test</a>
-
-<a href="http://php.net/?PHPSESSID=testid">test</a>
-<a href="http://php.net/?PHPSESSID=testid">test</a>
-<a href="http://php.net/?PHPSESSID=testid#bar">test</a>
-<a href="http://php.net/?foo&PHPSESSID=testid">test</a>
-<a href="http://php.net/?foo&PHPSESSID=testid#bar">test</a>
-<a href="http://php.net/?foo=var&PHPSESSID=testid">test</a>
-<a href="http://php.net/?foo=var&PHPSESSID=testid#bar">test</a>
-<a href="http://php.net/file.php?PHPSESSID=testid">test</a>
-<a href="http://php.net/file.php?PHPSESSID=testid#bar">test</a>
-<a href="http://php.net/file.php?foo&PHPSESSID=testid">test</a>
-<a href="http://php.net/file.php?foo&PHPSESSID=testid#bar">test</a>
-<a href="http://php.net/file.php?foo=var&PHPSESSID=testid">test</a>
-<a href="http://php.net/file.php?foo=var&PHPSESSID=testid#bar">test</a>
-<a href="http://php.net/some/path/file.php?PHPSESSID=testid">test</a>
-<a href="http://php.net/some/path/file.php?foo&PHPSESSID=testid">test</a>
-<a href="http://php.net/some/path/file.php?foo=var&PHPSESSID=testid">test</a>
-<a href="http://php.net/some/path/file.php?foo=var&PHPSESSID=testid#bar">test</a>
-
-<a href="https://php.net/?PHPSESSID=testid">test</a>
-<a href="https://php.net/?PHPSESSID=testid">test</a>
-<a href="https://php.net/?foo=var&PHPSESSID=testid#bar">test</a>
-<a href="https://php.net/file.php?PHPSESSID=testid">test</a>
-<a href="https://php.net/file.php?foo=var&PHPSESSID=testid#bar">test</a>
-<a href="https://php.net/some/path/file.php?PHPSESSID=testid">test</a>
-<a href="https://php.net/some/path/file.php?foo=var&PHPSESSID=testid#bar">test</a>
-<a href="https://php.net:8443/?PHPSESSID=testid">test</a>
-<a href="https://php.net:8443/?PHPSESSID=testid">test</a>
-<a href="https://php.net:8443/?foo=var&PHPSESSID=testid#bar">test</a>
-<a href="https://php.net:8443/file.php?PHPSESSID=testid">test</a>
-<a href="https://php.net:8443/file.php?foo=var&PHPSESSID=testid#bar">test</a>
-<a href="https://php.net:8443/some/path/file.php?PHPSESSID=testid">test</a>
-<a href="https://php.net:8443/some/path/file.php?foo=var&PHPSESSID=testid#bar">test</a>
-
-<a href="//php.net/?PHPSESSID=testid">test</a>
-<a href="//php.net/?PHPSESSID=testid">test</a>
-<a href="//php.net/?PHPSESSID=testid#bar">test</a>
-<a href="//php.net/?foo&PHPSESSID=testid">test</a>
-<a href="//php.net/?foo&PHPSESSID=testid#bar">test</a>
-<a href="//php.net/?foo=var&PHPSESSID=testid">test</a>
-<a href="//php.net/?foo=var&PHPSESSID=testid#bar">test</a>
-<a href="//php.net/file.php?PHPSESSID=testid">test</a>
-<a href="//php.net/file.php?PHPSESSID=testid#bar">test</a>
-<a href="//php.net/file.php?foo&PHPSESSID=testid">test</a>
-<a href="//php.net/file.php?foo&PHPSESSID=testid#bar">test</a>
-<a href="//php.net/file.php?foo=var&PHPSESSID=testid">test</a>
-<a href="//php.net/file.php?foo=var&PHPSESSID=testid#bar">test</a>
-<a href="//php.net/some/path/file.php?PHPSESSID=testid">test</a>
-<a href="//php.net/some/path/file.php?foo&PHPSESSID=testid">test</a>
-<a href="//php.net/some/path/file.php?foo=var&PHPSESSID=testid">test</a>
-<a href="//php.net/some/path/file.php?foo=var&PHPSESSID=testid#bar">test</a>
-
-<form action="script.php" method="post"><input type="hidden" name="PHPSESSID" value="testid" />
+<a href="/?PHPSESSID=session-basic5">test</a>
+<a href="/path?PHPSESSID=session-basic5">test</a>
+<a href="/path/?PHPSESSID=session-basic5">test</a>
+<a href="/path/?foo=var&PHPSESSID=session-basic5">test</a>
+<a href="../?PHPSESSID=session-basic5">test</a>
+<a href="../path?PHPSESSID=session-basic5">test</a>
+<a href="../path/?PHPSESSID=session-basic5">test</a>
+<a href="../path/?foo=var&PHPSESSID=session-basic5">test</a>
+
+<a href="/?PHPSESSID=session-basic5#bar">test</a>
+<a href="/path/?PHPSESSID=session-basic5#bar">test</a>
+<a href="/path/?foo=var&PHPSESSID=session-basic5#bar">test</a>
+<a href="../?PHPSESSID=session-basic5#bar">test</a>
+<a href="../path/?PHPSESSID=session-basic5#bar">test</a>
+<a href="../path/?foo=var&PHPSESSID=session-basic5#bar">test</a>
+
+<a href="/?foo&PHPSESSID=session-basic5">test</a>
+<a href="/?foo&PHPSESSID=session-basic5#bar">test</a>
+<a href="/?foo=var&PHPSESSID=session-basic5">test</a>
+<a href="/?foo=var&PHPSESSID=session-basic5#bar">test</a>
+<a href="../?foo&PHPSESSID=session-basic5">test</a>
+<a href="../?foo&PHPSESSID=session-basic5#bar">test</a>
+<a href="../?foo=var&PHPSESSID=session-basic5">test</a>
+<a href="../?foo=var&PHPSESSID=session-basic5#bar">test</a>
+
+<a href="file.php?PHPSESSID=session-basic5">test</a>
+<a href="file.php?foo&PHPSESSID=session-basic5">test</a>
+<a href="file.php?foo=var&PHPSESSID=session-basic5">test</a>
+<a href="file.php?foo=var&PHPSESSID=session-basic5#bar">test</a>
+<a href="../file.php?PHPSESSID=session-basic5">test</a>
+<a href="../file.php?foo&PHPSESSID=session-basic5">test</a>
+<a href="../file.php?foo=var&PHPSESSID=session-basic5">test</a>
+<a href="../file.php?foo=var&PHPSESSID=session-basic5#bar">test</a>
+
+<a href="http://php.net/?PHPSESSID=session-basic5">test</a>
+<a href="http://php.net/?PHPSESSID=session-basic5">test</a>
+<a href="http://php.net/?PHPSESSID=session-basic5#bar">test</a>
+<a href="http://php.net/?foo&PHPSESSID=session-basic5">test</a>
+<a href="http://php.net/?foo&PHPSESSID=session-basic5#bar">test</a>
+<a href="http://php.net/?foo=var&PHPSESSID=session-basic5">test</a>
+<a href="http://php.net/?foo=var&PHPSESSID=session-basic5#bar">test</a>
+<a href="http://php.net/file.php?PHPSESSID=session-basic5">test</a>
+<a href="http://php.net/file.php?PHPSESSID=session-basic5#bar">test</a>
+<a href="http://php.net/file.php?foo&PHPSESSID=session-basic5">test</a>
+<a href="http://php.net/file.php?foo&PHPSESSID=session-basic5#bar">test</a>
+<a href="http://php.net/file.php?foo=var&PHPSESSID=session-basic5">test</a>
+<a href="http://php.net/file.php?foo=var&PHPSESSID=session-basic5#bar">test</a>
+<a href="http://php.net/some/path/file.php?PHPSESSID=session-basic5">test</a>
+<a href="http://php.net/some/path/file.php?foo&PHPSESSID=session-basic5">test</a>
+<a href="http://php.net/some/path/file.php?foo=var&PHPSESSID=session-basic5">test</a>
+<a href="http://php.net/some/path/file.php?foo=var&PHPSESSID=session-basic5#bar">test</a>
+
+<a href="https://php.net/?PHPSESSID=session-basic5">test</a>
+<a href="https://php.net/?PHPSESSID=session-basic5">test</a>
+<a href="https://php.net/?foo=var&PHPSESSID=session-basic5#bar">test</a>
+<a href="https://php.net/file.php?PHPSESSID=session-basic5">test</a>
+<a href="https://php.net/file.php?foo=var&PHPSESSID=session-basic5#bar">test</a>
+<a href="https://php.net/some/path/file.php?PHPSESSID=session-basic5">test</a>
+<a href="https://php.net/some/path/file.php?foo=var&PHPSESSID=session-basic5#bar">test</a>
+<a href="https://php.net:8443/?PHPSESSID=session-basic5">test</a>
+<a href="https://php.net:8443/?PHPSESSID=session-basic5">test</a>
+<a href="https://php.net:8443/?foo=var&PHPSESSID=session-basic5#bar">test</a>
+<a href="https://php.net:8443/file.php?PHPSESSID=session-basic5">test</a>
+<a href="https://php.net:8443/file.php?foo=var&PHPSESSID=session-basic5#bar">test</a>
+<a href="https://php.net:8443/some/path/file.php?PHPSESSID=session-basic5">test</a>
+<a href="https://php.net:8443/some/path/file.php?foo=var&PHPSESSID=session-basic5#bar">test</a>
+
+<a href="//php.net/?PHPSESSID=session-basic5">test</a>
+<a href="//php.net/?PHPSESSID=session-basic5">test</a>
+<a href="//php.net/?PHPSESSID=session-basic5#bar">test</a>
+<a href="//php.net/?foo&PHPSESSID=session-basic5">test</a>
+<a href="//php.net/?foo&PHPSESSID=session-basic5#bar">test</a>
+<a href="//php.net/?foo=var&PHPSESSID=session-basic5">test</a>
+<a href="//php.net/?foo=var&PHPSESSID=session-basic5#bar">test</a>
+<a href="//php.net/file.php?PHPSESSID=session-basic5">test</a>
+<a href="//php.net/file.php?PHPSESSID=session-basic5#bar">test</a>
+<a href="//php.net/file.php?foo&PHPSESSID=session-basic5">test</a>
+<a href="//php.net/file.php?foo&PHPSESSID=session-basic5#bar">test</a>
+<a href="//php.net/file.php?foo=var&PHPSESSID=session-basic5">test</a>
+<a href="//php.net/file.php?foo=var&PHPSESSID=session-basic5#bar">test</a>
+<a href="//php.net/some/path/file.php?PHPSESSID=session-basic5">test</a>
+<a href="//php.net/some/path/file.php?foo&PHPSESSID=session-basic5">test</a>
+<a href="//php.net/some/path/file.php?foo=var&PHPSESSID=session-basic5">test</a>
+<a href="//php.net/some/path/file.php?foo=var&PHPSESSID=session-basic5#bar">test</a>
+
+<form action="script.php" method="post"><input type="hidden" name="PHPSESSID" value="session-basic5" />
<input type="text" name="test1"></input>
<input type="text" name="test2" />
</form>
-<form action="../script.php" method="post"><input type="hidden" name="PHPSESSID" value="testid" />r
+<form action="../script.php" method="post"><input type="hidden" name="PHPSESSID" value="session-basic5" />r
<input type="text" name="test1"></input>
<input type="text" name="test2" />
</form>
-<form action="/path/script.php" method="post"><input type="hidden" name="PHPSESSID" value="testid" />
+<form action="/path/script.php" method="post"><input type="hidden" name="PHPSESSID" value="session-basic5" />
<input type="text" name="test1"></input>
<input type="text" name="test2" />
</form>
-<form action="../path/script.php" method="post"><input type="hidden" name="PHPSESSID" value="testid" />
+<form action="../path/script.php" method="post"><input type="hidden" name="PHPSESSID" value="session-basic5" />
<input type="text" name="test1"></input>
<input type="text" name="test2" />
</form>
-<form method="post" action="http://php.net/script.php"><input type="hidden" name="PHPSESSID" value="testid" />
+<form method="post" action="http://php.net/script.php"><input type="hidden" name="PHPSESSID" value="session-basic5" />
<input type="text" name="test1"></input>
<input type="text" name="test2" />
</form>
-<form method="post" action="https://php.net/script.php"><input type="hidden" name="PHPSESSID" value="testid" />
+<form method="post" action="https://php.net/script.php"><input type="hidden" name="PHPSESSID" value="session-basic5" />
<input type="text" name="test1"></input>
<input type="text" name="test2" />
</form>
-<form method="post" action="//php.net/script.php"><input type="hidden" name="PHPSESSID" value="testid" />
+<form method="post" action="//php.net/script.php"><input type="hidden" name="PHPSESSID" value="session-basic5" />
<input type="text" name="test1"></input>
<input type="text" name="test2" />
</form>
bool(true)
*** Cleanup ***
bool(true)
-string(6) "testid"
+string(14) "session-basic5"
bool(true)
echo "*** Testing session_commit() : variation ***\n";
var_dump(ini_get('session.use_strict_mode'));
-var_dump(session_id("test"));
+var_dump(session_id("session-commit-variation4"));
var_dump(session_start());
var_dump(session_id());
var_dump(session_commit());
string(1) "0"
string(0) ""
bool(true)
-string(4) "test"
+string(25) "session-commit-variation4"
bool(true)
-string(4) "test"
+string(25) "session-commit-variation4"
bool(true)
string(1) "0"
-string(4) "test"
+string(25) "session-commit-variation4"
bool(true)
-string(4) "test"
+string(25) "session-commit-variation4"
bool(true)
-string(4) "test"
+string(25) "session-commit-variation4"
bool(true)
-string(4) "test"
+string(25) "session-commit-variation4"
bool(true)
bool(true)
string(1) "0"
require_once "save_handler.inc";
$path = __DIR__;
+$path = __DIR__ . '/session_module_name_variation4';
+@mkdir($path);
session_save_path($path);
session_module_name("files");
var_dump(session_destroy());
ob_end_flush();
+rmdir($path);
?>
--EXPECT--
*** Testing session_module_name() : variation ***
echo "*** Testing session_save_path() : variation ***\n";
$initdir = __DIR__;
-$sessions = ($initdir."/sessions");
+$sessions = ($initdir."/session_save_path_variation4");
chdir($initdir);
--CLEAN--
<?php
$initdir = __DIR__;
-$sessions = ($initdir."/sessions");
+$sessions = ($initdir."/session_save_path_variation4");
var_dump(rmdir($sessions));
?>
--EXPECTF--
ob_start();
echo "*** Testing session_save_path() : variation ***\n";
$directory = __DIR__;
-$sessions = ($directory."/sessions");
+$sessions = ($directory."/session_save_path_variation5");
chdir($directory);
ini_set('open_basedir', '.');
--CLEAN--
<?php
$directory = __DIR__;
-$sessions = ($directory."/sessions");
+$sessions = ($directory."/session_save_path_variation5");
var_dump(rmdir($sessions));
?>
--EXPECTF--
var_dump(session_module_name("blah"));
var_dump(session_module_name("foo"));
-$path = __DIR__;
+$path = __DIR__ . '/session_set_save_handler_basic';
+@mkdir($path);
session_save_path($path);
session_set_save_handler("open", "close", "read", "write", "destroy", "gc");
session_destroy();
ob_end_flush();
+rmdir($path);
?>
--EXPECTF--
*** Testing session_set_save_handler() : basic functionality ***
echo "*** Testing session_set_save_handler() : variation ***\n";
require_once "save_handler.inc";
-$path = __DIR__;
+$path = __DIR__ . '/session_set_save_handler_variation2';
+@mkdir($path);
session_save_path($path);
var_dump(session_start());
var_dump(session_set_save_handler("open", "close", "read", "write", "destroy", "gc"));
var_dump(session_destroy());
ob_end_flush();
+rmdir($path);
?>
--EXPECTF--
*** Testing session_set_save_handler() : variation ***
echo "*** Testing session_set_save_handler() : variation ***\n";
require_once "save_handler.inc";
-$path = __DIR__;
+$path = __DIR__ . '/session_set_save_handler_variation3';
+@mkdir($path);
var_dump(session_status());
session_save_path($path);
var_dump(session_set_save_handler("open", "close", "read", "write", "destroy", "gc"));
var_dump(session_destroy());
-
ob_end_flush();
+
+rmdir($path);
?>
--EXPECTF--
*** Testing session_set_save_handler() : variation ***
}
require_once "save_handler.inc";
-$path = __DIR__;
+$path = __DIR__ . '/session_set_save_handler_variation4';
+@mkdir($path);
session_save_path($path);
session_set_save_handler("open", "close", "read", "write", "destroy", "noisy_gc");
var_dump(session_destroy());
ob_end_flush();
+rmdir($path);
?>
--EXPECTF--
*** Testing session_set_save_handler() : variation ***
Open [%s,PHPSESSID]
Read [%s,%s]
GC [0]
-2 deleted
+1 deleted
array(3) {
["Blah"]=>
string(12) "Hello World!"
echo "*** Testing session_set_save_handler() : variation ***\n";
require_once "save_handler.inc";
-$path = __DIR__;
+$path = __DIR__ . '/session_set_save_handler_variation5';
+@mkdir($path);
var_dump(session_save_path($path));
echo "*** Without lazy_write ***\n";
var_dump(session_destroy());
ob_end_flush();
+rmdir($path);
?>
--EXPECTF--
*** Testing session_set_save_handler() : variation ***
echo "*** Testing session_set_save_handler() : test write short circuit ***\n";
require_once "save_handler.inc";
-$path = __DIR__;
+$path = __DIR__ . '/session_set_save_handler_variation6';
+@mkdir($path);
session_save_path($path);
session_set_save_handler("open", "close", "read", "write", "destroy", "gc", "create_sid", "validate_sid", "update");
session_destroy();
ob_end_flush();
+rmdir($path);
?>
--EXPECTF--
*** Testing session_set_save_handler() : test write short circuit ***