Witam. Mam problem z logowaniem poniewaz mam program napisany w autoit ktory laczy sie z plikiem php a plik ten powinien logowac sie do bazy danych mybb, poniewaz na stronie mybb uzytkownicy tworza konta.
Napotkalem jednak problem z hashowaniem hasla i nie moge sie zalogowac przez program jako dany uzytkownik.
Oto jak wyglada plik login.php
Chodzi o ten fragment "Password hashing here"
Czyli gdy z $_POSTA dostaje $password jak go obrobic tymi funkcjami md5 i salt zeby logowanie zadzialalo. Prosze o pomoc
Napotkalem jednak problem z hashowaniem hasla i nie moge sie zalogowac przez program jako dany uzytkownik.
Oto jak wyglada plik login.php
Chodzi o ten fragment "Password hashing here"
Czyli gdy z $_POSTA dostaje $password jak go obrobic tymi funkcjami md5 i salt zeby logowanie zadzialalo. Prosze o pomoc
<?php
define("IN_MYBB", 1);
require_once "../global.php";
require_once "../inc/init.php";
require_once ('include/MysqliDb.php');
require_once ('config.php');
$db = new MysqliDb ($db_host, $db_username, $db_password, $db_name);
switch ($action) {
case 'login':
if (isset($_POST['username'], $_POST['password']))
{
$username = $_POST['username'];
$pass= $_POST['password'];
if (validateUsername($username) && _notEmpty($pass))
{
#### Password hashing here
$md5pass = md5($pass);
$salt = generate_salte();
$pass = salt_password($md5pass, $salt);
#### // Password hashing <---
$db->where('username', $username);
$db->where('password', $pass);
if (_notEmpty($online))
{
// Update online status
if ( ! $online )
{
$data = array(
'is_online' => 1
);
$db->where('username', $username);
$db->update('mybb_users', $data);
_output(TRUE); // Login Success
}
else
{
_output(FALSE); // Already logged-in
}
}
}
}
break;
function generate_salte()
{
return random_str(8);
}
function salt_password($password, $salt)
{
return md5(md5($salt).$password);
}