__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php
/**
 * Part of the Joomla Framework Session Package
 *
 * @copyright  Copyright (C) 2005 - 2021 Open Source Matters, Inc. All rights reserved.
 * @license    GNU General Public License version 2 or later; see LICENSE
 */

namespace Joomla\Session\Handler;

use Joomla\Session\HandlerInterface;

/**
 * Redis session storage handler
 *
 * @since  2.0.0
 */
class RedisHandler implements HandlerInterface
{
	/**
	 * Session ID prefix to avoid naming conflicts
	 *
	 * @var    string
	 * @since  2.0.0
	 */
	private $prefix;

	/**
	 * Redis driver
	 *
	 * @var    \Redis
	 * @since  2.0.0
	 */
	private $redis;

	/**
	 * Time to live in seconds
	 *
	 * @var    integer
	 * @since  2.0.0
	 */
	private $ttl;

	/**
	 * Constructor
	 *
	 * @param   \Redis  $redis    A Redis instance
	 * @param   array   $options  Associative array of options to configure the handler
	 *
	 * @since   2.0.0
	 */
	public function __construct(\Redis $redis, array $options = [])
	{
		$this->redis = $redis;

		// Set the default time-to-live based on the Session object's default configuration
		$this->ttl = isset($options['ttl']) ? (int) $options['ttl'] : 900;

		// Namespace our session IDs to avoid potential conflicts
		$this->prefix = $options['prefix'] ?? 'jfw';
	}

	/**
	 * Close the session
	 *
	 * @return  boolean  True on success, false otherwise
	 *
	 * @since   2.0.0
	 */
	#[\ReturnTypeWillChange]
	public function close()
	{
		// No need to close the connection to Redis server manually.
		return true;
	}

	/**
	 * Destroy a session, called automatically when running session_regenerate_id().
	 *
	 * @param   integer  $session_id  The session ID being destroyed
	 *
	 * @return  boolean  True on success, false otherwise
	 *
	 * @since   2.0.0
	 */
	public function destroy($session_id): bool
	{
		$this->redis->del($this->prefix . $session_id);

		// Session callback must have a return value of type bool when session_regenerate_id() is called.
		return true;
	}

	/**
	 * Cleanup old sessions
	 *
	 * @param   integer  $maxlifetime  Sessions that have not updated for the last maxlifetime seconds will be removed
	 *
	 * @return  boolean  True on success, false otherwise
	 *
	 * @since   2.0.0
	 */
	#[\ReturnTypeWillChange]
	public function gc($maxlifetime)
	{
		return true;
	}

	/**
	 * Test to see if the HandlerInterface is available
	 *
	 * @return  boolean  True on success, false otherwise
	 *
	 * @since   2.0.0
	 */
	public static function isSupported(): bool
	{
		return \extension_loaded('redis') && class_exists('Redis');
	}

	/**
	 * Initialize session
	 *
	 * @param   string  $save_path   The path where to store/retrieve the session
	 * @param   string  $session_id  The session id
	 *
	 * @return  boolean  True on success, false otherwise
	 *
	 * @since   2.0.0
	 */
	#[\ReturnTypeWillChange]
	public function open($save_path, $session_id)
	{
		return true;
	}

	/**
	 * Read session data
	 *
	 * @param   string  $session_id  The session id to read data for
	 *
	 * @return  string  The session data
	 *
	 * @since   2.0.0
	 */
	#[\ReturnTypeWillChange]
	public function read($session_id)
	{
		return $this->redis->get($this->prefix . $session_id) ?: '';
	}

	/**
	 * Write session data
	 *
	 * @param   string  $session_id    The session id
	 * @param   string  $session_data  The encoded session data
	 *
	 * @return  boolean  True on success, false otherwise
	 *
	 * @since   2.0.0
	 */
	#[\ReturnTypeWillChange]
	public function write($session_id, $session_data)
	{
		if ($this->ttl > 0)
		{
			return $this->redis->setex($this->prefix . $session_id, $this->ttl, $session_data);
		}

		return $this->redis->set($this->prefix . $session_id, $session_data);
	}
}

Filemanager

Name Type Size Permission Actions
ApcuHandler.php File 3.17 KB 0664
DatabaseHandler.php File 6.89 KB 0664
FilesystemHandler.php File 2.01 KB 0664
MemcachedHandler.php File 3.54 KB 0664
RedisHandler.php File 3.61 KB 0664
WincacheHandler.php File 934 B 0664
Filemanager