コード例 #1
0
 /**
  * Get the NONCE base to be used when generating somewhat random nonce strings
  *
  * From the NONCE base file, or fallback is a new somewhat random string each instantiation.
  *
  * @param SessionHandlerParams $handlerParams
  * @return SessionHandlerParams
  */
 protected static function loadNonceBase($handlerParams)
 {
     $fullPath = dirname(dirname(dirname(dirname(dirname(dirname(__FILE__))))));
     $fullPath .= DIRECTORY_SEPARATOR . "conf" . DIRECTORY_SEPARATOR . "noncebase.txt";
     if (!file_exists($fullPath) || !is_readable($fullPath)) {
         //FALLBACK: USE A NEW NONCE BASE EACH TIME
         $handlerParams->authParams->nonceBase = SomewhatRandomGenerator::generateSomewhatRandomString();
     } else {
         if (!isset($handlerParams->authParams->nonceBase) || empty($handlerParams->authParams->nonceBase)) {
             $handlerParams->authParams->nonceBase = file_get_contents($fullPath);
         }
     }
     return $handlerParams;
 }
コード例 #2
0
 public function testCanGenerateRandomStringProvidedLength()
 {
     $somewhat = SomewhatRandomGenerator::generateSomewhatRandomString(10);
     $this->assertInternalType('string', $somewhat);
     $this->assertEquals(10, mb_strlen($somewhat));
 }
コード例 #3
0
 /**
  * @param Event $event
  */
 protected static function generateAndSaveNonceBase($event)
 {
     $fullPath = self::$root . DIRECTORY_SEPARATOR . self::$nonceFilePath;
     $randomString = SomewhatRandomGenerator::generateSomewhatRandomString(self::$nonceBaseLength);
     file_put_contents($fullPath, $randomString);
     $event->getIO()->write('GENERATING NONCE BASE FILE WITH STRING: ' . $randomString);
 }