📄 remember.php
字号:
<?php/*** @version $Id: remember.php 10381 2008-06-01 03:35:53Z pasamio $* @package Joomla* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.* @license GNU/GPL, see LICENSE.php* Joomla! is free software. This version may have been modified pursuant* to the GNU General Public License, and as distributed it includes or* is derivative of works licensed under the GNU General Public License or* other free or open source software licenses.* See COPYRIGHT.php for copyright notices and details.*/// no direct accessdefined( '_JEXEC' ) or die( 'Restricted access' );jimport( 'joomla.plugin.plugin' );/** * Joomla! System Remember Me Plugin * * @author Louis Landry <louis.landry@joomla.org> * @package Joomla * @subpackage System */class plgSystemRemember extends JPlugin{ /** * Constructor * * For php4 compatability we must not use the __constructor as a constructor for plugins * because func_get_args ( void ) returns a copy of all passed arguments NOT references. * This causes problems with cross-referencing necessary for the observer design pattern. * * @access protected * @param object $subject The object to observe * @param array $config An array that holds the plugin configuration * @since 1.0 */ function plgSystemRemember(& $subject, $config) { parent::__construct($subject, $config); } function onAfterInitialise() { global $mainframe; // No remember me for admin if ($mainframe->isAdmin()) { return; } $user = &JFactory::getUser(); if (!$user->get('gid')) { jimport('joomla.utilities.utility'); $hash = JUtility::getHash('JLOGIN_REMEMBER'); if ($str = JRequest::getString($hash, '', 'cookie', JREQUEST_ALLOWRAW | JREQUEST_NOTRIM)) { jimport('joomla.utilities.simplecrypt'); //Create the encryption key, apply extra hardening using the user agent string $key = JUtility::getHash(@$_SERVER['HTTP_USER_AGENT']); $crypt = new JSimpleCrypt($key); $str = $crypt->decrypt($str); $options = array(); $options['silent'] = true; if (!$mainframe->login(@unserialize($str), $options)) { // Clear the remember me cookie setcookie( JUtility::getHash('JLOGIN_REMEMBER'), false, time() - 86400, '/' ); } } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -