123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347 |
- --TEST--
- Test basic function : variation3 use_trans_sid
- --INI--
- session.use_strict_mode=0
- session.use_only_cookies=0
- session.use_trans_sid=1
- session.save_handler=files
- session.hash_bits_per_character=4
- session.hash_function=0
- session.gc_probability=1
- session.gc_divisor=1000
- session.gc_maxlifetime=300
- session.save_path=
- session.name=PHPSESSID
- url_rewriter.hosts=
- --EXTENSIONS--
- session
- --SKIPIF--
- <?php include('skipif.inc'); ?>
- --FILE--
- <?php
- ob_start();
- echo "*** Testing basic session functionality : variation3 use_trans_sid ***\n";
- /*
- echo "*** test output_add_rewrite_var() ***\n";
- output_add_rewrite_var('var', 'value');
- echo '
- <a href="/">test</a>
- <a href="/#bar">test</a>
- <a href="/?foo">test</a>
- <a href="/?foo#bar">test</a>
- <a href="/?foo=var">test</a>
- <a href="/?foo=var#bar">test</a>
- <a href="file.php">test</a>
- <a href="file.php?foo">test</a>
- <a href="file.php?foo=var">test</a>
- <a href="http://php.net">test</a>
- <a href="http://php.net/">test</a>
- <a href="http://php.net/#bar">test</a>
- <a href="http://php.net/?foo">test</a>
- <a href="http://php.net/?foo#bar">test</a>
- <a href="http://php.net/?foo=var">test</a>
- <a href="http://php.net/?foo=var#bar">test</a>
- <a href="http://php.net/file.php">test</a>
- <a href="http://php.net/file.php#bar">test</a>
- <a href="http://php.net/file.php?foo">test</a>
- <a href="http://php.net/file.php?foo#bar">test</a>
- <a href="http://php.net/file.php?foo=var">test</a>
- <a href="http://php.net/file.php?foo=var#bar">test</a>
- <a href="http://php.net/some/path/file.php">test</a>
- <a href="http://php.net/some/path/file.php?foo">test</a>
- <a href="http://php.net/some/path/file.php?foo=var">test</a>
- <a href="http://php.net/some/path/file.php?foo=var#bar">test</a>
- <a href="https://php.net">test</a>
- <a href="https://php.net/">test</a>
- <a href="https://php.net/?foo=var#bar">test</a>
- <a href="https://php.net/file.php">test</a>
- <a href="https://php.net/file.php?foo=var#bar">test</a>
- <a href="https://php.net/some/path/file.php">test</a>
- <a href="https://php.net/some/path/file.php?foo=var#bar">test</a>
- <a href="https://php.net:8443">test</a>
- <a href="https://php.net:8443/">test</a>
- <a href="https://php.net:8443/?foo=var#bar">test</a>
- <a href="https://php.net:8443/file.php">test</a>
- <a href="https://php.net:8443/file.php?foo=var#bar">test</a>
- <a href="https://php.net:8443/some/path/file.php">test</a>
- <a href="https://php.net:8443/some/path/file.php?foo=var#bar">test</a>
- <a href="//php.net">test</a>
- <a href="//php.net/">test</a>
- <a href="//php.net/#bar">test</a>
- <a href="//php.net/?foo">test</a>
- <a href="//php.net/?foo#bar">test</a>
- <a href="//php.net/?foo=var">test</a>
- <a href="//php.net/?foo=var#bar">test</a>
- <a href="//php.net/file.php">test</a>
- <a href="//php.net/file.php#bar">test</a>
- <a href="//php.net/file.php?foo">test</a>
- <a href="//php.net/file.php?foo#bar">test</a>
- <a href="//php.net/file.php?foo=var">test</a>
- <a href="//php.net/file.php?foo=var#bar">test</a>
- <a href="//php.net/some/path/file.php">test</a>
- <a href="//php.net/some/path/file.php?foo">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="text" name="test1"></input>
- <input type="text" name="test2" />
- </form>
- ';
- output_reset_rewrite_vars();
- */
- echo "*** Test trans sid ***\n";
- ob_start();
- $session_id = 'session-basic3';
- session_id($session_id);
- session_start();
- // Should add session ID to relative URL only for SECURITY
- echo '
- <a href="/">test</a>
- <a href="/path">test</a>
- <a href="/path/">test</a>
- <a href="/path/?foo=var">test</a>
- <a href="../">test</a>
- <a href="../path">test</a>
- <a href="../path/">test</a>
- <a href="../path/?foo=var">test</a>
- <a href="/#bar">test</a>
- <a href="/path/#bar">test</a>
- <a href="/path/?foo=var#bar">test</a>
- <a href="../#bar">test</a>
- <a href="../path/#bar">test</a>
- <a href="../path/?foo=var#bar">test</a>
- <a href="/?foo">test</a>
- <a href="/?foo#bar">test</a>
- <a href="/?foo=var">test</a>
- <a href="/?foo=var#bar">test</a>
- <a href="../?foo">test</a>
- <a href="../?foo#bar">test</a>
- <a href="../?foo=var">test</a>
- <a href="../?foo=var#bar">test</a>
- <a href="file.php">test</a>
- <a href="file.php?foo">test</a>
- <a href="file.php?foo=var">test</a>
- <a href="file.php?foo=var#bar">test</a>
- <a href="../file.php">test</a>
- <a href="../file.php?foo">test</a>
- <a href="../file.php?foo=var">test</a>
- <a href="../file.php?foo=var#bar">test</a>
- <a href="http://php.net">test</a>
- <a href="http://php.net/">test</a>
- <a href="http://php.net/#bar">test</a>
- <a href="http://php.net/?foo">test</a>
- <a href="http://php.net/?foo#bar">test</a>
- <a href="http://php.net/?foo=var">test</a>
- <a href="http://php.net/?foo=var#bar">test</a>
- <a href="http://php.net/file.php">test</a>
- <a href="http://php.net/file.php#bar">test</a>
- <a href="http://php.net/file.php?foo">test</a>
- <a href="http://php.net/file.php?foo#bar">test</a>
- <a href="http://php.net/file.php?foo=var">test</a>
- <a href="http://php.net/file.php?foo=var#bar">test</a>
- <a href="http://php.net/some/path/file.php">test</a>
- <a href="http://php.net/some/path/file.php?foo">test</a>
- <a href="http://php.net/some/path/file.php?foo=var">test</a>
- <a href="http://php.net/some/path/file.php?foo=var#bar">test</a>
- <a href="https://php.net">test</a>
- <a href="https://php.net/">test</a>
- <a href="https://php.net/?foo=var#bar">test</a>
- <a href="https://php.net/file.php">test</a>
- <a href="https://php.net/file.php?foo=var#bar">test</a>
- <a href="https://php.net/some/path/file.php">test</a>
- <a href="https://php.net/some/path/file.php?foo=var#bar">test</a>
- <a href="https://php.net:8443">test</a>
- <a href="https://php.net:8443/">test</a>
- <a href="https://php.net:8443/?foo=var#bar">test</a>
- <a href="https://php.net:8443/file.php">test</a>
- <a href="https://php.net:8443/file.php?foo=var#bar">test</a>
- <a href="https://php.net:8443/some/path/file.php">test</a>
- <a href="https://php.net:8443/some/path/file.php?foo=var#bar">test</a>
- <a href="//php.net">test</a>
- <a href="//php.net/">test</a>
- <a href="//php.net/#bar">test</a>
- <a href="//php.net/?foo">test</a>
- <a href="//php.net/?foo#bar">test</a>
- <a href="//php.net/?foo=var">test</a>
- <a href="//php.net/?foo=var#bar">test</a>
- <a href="//php.net/file.php">test</a>
- <a href="//php.net/file.php#bar">test</a>
- <a href="//php.net/file.php?foo">test</a>
- <a href="//php.net/file.php?foo#bar">test</a>
- <a href="//php.net/file.php?foo=var">test</a>
- <a href="//php.net/file.php?foo=var#bar">test</a>
- <a href="//php.net/some/path/file.php">test</a>
- <a href="//php.net/some/path/file.php?foo">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="text" name="test1"></input>
- <input type="text" name="test2" />
- </form>
- <form action="../script.php" method="post">
- <input type="text" name="test1"></input>
- <input type="text" name="test2" />
- </form>
- <form action="/path/script.php" method="post">
- <input type="text" name="test1"></input>
- <input type="text" name="test2" />
- </form>
- <form action="../path/script.php" method="post">
- <input type="text" name="test1"></input>
- <input type="text" name="test2" />
- </form>
- <form method="post" action="http://php.net/script.php">
- <input type="text" name="test1"></input>
- <input type="text" name="test2" />
- </form>
- <form method="post" action="https://php.net/script.php">
- <input type="text" name="test1"></input>
- <input type="text" name="test2" />
- </form>
- <form method="post" action="//php.net/script.php">
- <input type="text" name="test1"></input>
- <input type="text" name="test2" />
- </form>
- ';
- var_dump(session_commit());
- echo "*** Cleanup ***\n";
- var_dump(session_start());
- var_dump(session_id());
- var_dump(session_destroy());
- ob_end_flush();
- ?>
- --EXPECT--
- *** Testing basic session functionality : variation3 use_trans_sid ***
- *** Test trans sid ***
- <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=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=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=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="http://php.net/#bar">test</a>
- <a href="http://php.net/?foo">test</a>
- <a href="http://php.net/?foo#bar">test</a>
- <a href="http://php.net/?foo=var">test</a>
- <a href="http://php.net/?foo=var#bar">test</a>
- <a href="http://php.net/file.php">test</a>
- <a href="http://php.net/file.php#bar">test</a>
- <a href="http://php.net/file.php?foo">test</a>
- <a href="http://php.net/file.php?foo#bar">test</a>
- <a href="http://php.net/file.php?foo=var">test</a>
- <a href="http://php.net/file.php?foo=var#bar">test</a>
- <a href="http://php.net/some/path/file.php">test</a>
- <a href="http://php.net/some/path/file.php?foo">test</a>
- <a href="http://php.net/some/path/file.php?foo=var">test</a>
- <a href="http://php.net/some/path/file.php?foo=var#bar">test</a>
- <a href="https://php.net">test</a>
- <a href="https://php.net/">test</a>
- <a href="https://php.net/?foo=var#bar">test</a>
- <a href="https://php.net/file.php">test</a>
- <a href="https://php.net/file.php?foo=var#bar">test</a>
- <a href="https://php.net/some/path/file.php">test</a>
- <a href="https://php.net/some/path/file.php?foo=var#bar">test</a>
- <a href="https://php.net:8443">test</a>
- <a href="https://php.net:8443/">test</a>
- <a href="https://php.net:8443/?foo=var#bar">test</a>
- <a href="https://php.net:8443/file.php">test</a>
- <a href="https://php.net:8443/file.php?foo=var#bar">test</a>
- <a href="https://php.net:8443/some/path/file.php">test</a>
- <a href="https://php.net:8443/some/path/file.php?foo=var#bar">test</a>
- <a href="//php.net">test</a>
- <a href="//php.net/">test</a>
- <a href="//php.net/#bar">test</a>
- <a href="//php.net/?foo">test</a>
- <a href="//php.net/?foo#bar">test</a>
- <a href="//php.net/?foo=var">test</a>
- <a href="//php.net/?foo=var#bar">test</a>
- <a href="//php.net/file.php">test</a>
- <a href="//php.net/file.php#bar">test</a>
- <a href="//php.net/file.php?foo">test</a>
- <a href="//php.net/file.php?foo#bar">test</a>
- <a href="//php.net/file.php?foo=var">test</a>
- <a href="//php.net/file.php?foo=var#bar">test</a>
- <a href="//php.net/some/path/file.php">test</a>
- <a href="//php.net/some/path/file.php?foo">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="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="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="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="session-basic3" />
- <input type="text" name="test1"></input>
- <input type="text" name="test2" />
- </form>
- <form method="post" action="http://php.net/script.php">
- <input type="text" name="test1"></input>
- <input type="text" name="test2" />
- </form>
- <form method="post" action="https://php.net/script.php">
- <input type="text" name="test1"></input>
- <input type="text" name="test2" />
- </form>
- <form method="post" action="//php.net/script.php">
- <input type="text" name="test1"></input>
- <input type="text" name="test2" />
- </form>
- bool(true)
- *** Cleanup ***
- bool(true)
- string(14) "session-basic3"
- bool(true)
|