php - 自定义 PHP 函数以验证 Joomla 中的正确密码

标签 php joomla passwords

我在 Joomla 之外创建了一个可以成功生成 Joomla 密码的脚本:

// I copied the JUserHelper class from Joomla here
$salt = JUserHelper::genRandomPassword(32);
$crypt = JUserHelper::getCryptedPassword($password, $salt);
$psw = $crypt.':'.$salt;

我的问题是,我如何将上面生成的这个新 crypt:salt 与 Joomla 数据库中现有用户的密码进行比较,并知道提供给上面脚本的密码是否是该用户在数据库?

最佳答案

在 joomla 3.4.5 中:

if (!class_exists("JFactory")) {
    define('_JEXEC', 1);
    define('JPATH_BASE', dirname(__FILE__)); // specify path to joomla base directory here
    define('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();
}

$user = JFactory::getUser(); // or: getUser($id) to get the user with ID $id
$passwordMatch = JUserHelper::verifyPassword($entered_password, $user->password, $user->id);

关于php - 自定义 PHP 函数以验证 Joomla 中的正确密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8015106/

相关文章:

javascript - 在同一页面上处理表单执行 JQuery 函数

php - if($val) vs. if($val != "") vs. if(!empty($val)) —— 哪个?

database - 如何安全地存储我的 CouchDB 管理员密码?

c++ - 如何在 Windows 中验证用户名和密码?

php - 大型 PHP 支持 Web 表单 - 大约 75 个字段 - 如何最好地发送包含所有字段的电子邮件?

php - 在 Laravel 问题中使用多个值绑定(bind)插入查询

javascript - 在 php 代码中使用 javascript 变量

javascript - 如何在javascript中选中复选框时将复选框的值添加到url

php - 使用 PHP 以编程方式将 CSS 注入(inject) Joomla 内容编辑器 (JCE)?

linux - 如何让用户以 root 权限运行脚本?