尝试这个,
以下代码创建了Joomla标准密码 (旧版本1.5、1.7等) 。
jimport('joomla.user.helper'); $salt = JUserHelper::genRandomPassword(32); $crypt = JUserHelper::getCryptedPassword($password_choose, $salt); $password = $crypt.':'.$salt;
Joomla 3.2+ 引入了PHP的密码算法 bcrypt, 但它要求最低PHP 5.3+。 如果您打算使用
bcrypt,请
确保您的服务器PHP版本能够做到这一点,请在此处阅读更多内容。
其他版本的Joomla使用以下方法( Joomla 3.x )
jimport('joomla.user.helper'); $yourpass = JUserHelper::hashPassword($password_choose);
较旧的算法在最新版本中也能正常工作,唯一的区别是较旧的版本创建了65个字符的密码,而新版本创建了34个字符串。 总是与更新版本一起使用
另外,如果您使用的是外部脚本,则应包括如下所示的Joomla框架。这应该在您的外部php文件的顶部
define( '_JEXEC', 1 );define('JPATH_base', dirname(__FILE__) );//this is when we are in the rootdefine( 'DS', DIRECTORY_SEPARATOR );require_once ( JPATH_base .DS.'includes'.DS.'defines.php' );require_once ( JPATH_base .DS.'includes'.DS.'framework.php' );$mainframe =& JFactory::getApplication('site');$mainframe->initialise();
您还提到了必须检查用户凭据,然后无需检查密码格式,并且在框架加载后,所有内容都只使用以下代码。
$credentials['username'] = $data['username']; //user entered name $credentials['password'] = $data['password']; //users entered password $app = JFactory::getApplication(); $error = $app->login($credentials, $options); if (!JError::isError($error)) { // login success } else{ //Failed attempt }
希望能帮助到你..
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)