Просмотр исходного кода

[ZF-12465] Fix Zend Server session identifier validation

Forward port r25120


git-svn-id: http://framework.zend.com/svn/framework/standard/branches/release-1.12@25121 44c647ce-9c0f-0410-b52a-842ac1e357ba
matthew 13 лет назад
Родитель
Сommit
d642a19ada
1 измененных файлов с 8 добавлено и 0 удалено
  1. 8 0
      library/Zend/Session.php

+ 8 - 0
library/Zend/Session.php

@@ -515,6 +515,14 @@ class Zend_Session extends Zend_Session_Abstract
      */
     protected static function _checkId($id)
     {
+        $saveHandler = ini_get('session.save_handler');
+        if ($saveHandler == 'cluster') { // Zend Server SC, validate only after last dash
+            $dashPos = strrpos($id, '-');
+            if ($dashPos) {
+                $id = substr($id, $dashPos + 1);
+            }
+        }
+
         $hashBitsPerChar = ini_get('session.hash_bits_per_character');
         if (!$hashBitsPerChar) {
             $hashBitsPerChar = 5; // the default value