|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
Patchesbug68063.patch (last revision 2016-01-13 02:09 UTC by yohgaki@php.net)Pull RequestsHistoryAllCommentsChangesGit/SVN commits
[2015-02-02 02:46 UTC] yohgaki@php.net
-Assigned To:
+Assigned To: mike
[2015-02-02 02:46 UTC] yohgaki@php.net
[2015-02-02 03:15 UTC] yohgaki@php.net
[2015-02-02 06:28 UTC] yohgaki@php.net
-Summary: output_add_rewrite_var() fails to add some URLs
+Summary: output_add_rewrite_var() add session ID path begins
with "//"
[2015-02-02 06:28 UTC] yohgaki@php.net
[2015-02-02 08:37 UTC] mike@php.net
[2015-02-02 09:05 UTC] yohgaki@php.net
[2015-02-02 09:06 UTC] yohgaki@php.net
-Assigned To: mike
+Assigned To: yohgaki
[2015-02-02 09:06 UTC] yohgaki@php.net
[2015-05-24 06:31 UTC] yohgaki@php.net
-Type: Bug
+Type: Security
-Private report: No
+Private report: Yes
[2015-05-24 06:31 UTC] yohgaki@php.net
[2015-09-08 10:01 UTC] yohgaki@php.net
-PHP Version: master-Git-2015-02-02 (Git)
+PHP Version: any
[2015-09-08 10:01 UTC] yohgaki@php.net
[2016-01-13 02:09 UTC] yohgaki@php.net
[2016-10-17 06:41 UTC] yohgaki@php.net
-Status: Assigned
+Status: Closed
[2016-10-17 06:41 UTC] yohgaki@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Nov 07 00:00:02 2025 UTC |
Description: ------------ It seems url_scanner_ex.re has some problems. It fails to handle some urls. I'm trying to check if session.use_trans_sid=1 works or not. Test script: --------------- --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 --SKIPIF-- <?php include('skipif.inc'); ?> --FILE-- <?php ob_start(); /* * Prototype : session.use_trans_sid=1 * Description : Test basic functionality. * Source code : ext/session/session.c */ 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="//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 = 'testid'; session_id($session_id); echo ' <a href="file.php">test</a> <a href="http://php.net">test</a> <a href="http://php.net/">test</a> <a href="http://php.net/file.php">test</a> <form action="script.php" method="post"> <input type="text" name="testa" /> <input type="text" name="testb" /> </form> '; echo "*** Cleanup ***\n"; var_dump(session_id($session_id)); var_dump(session_start()); var_dump(session_destroy()); ob_end_flush(); ?> --EXPECTF-- Actual result: -------------- I get following output from output_add_rewrite_var(). <a href="/?PHPSESSID=testid">test</a> <a href="/?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="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="//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" /> <input type="text" name="test1"></input> <input type="text" name="test2" /> </form>