#1

Всем доброго времени суток!

Хэширую пароли таким запросом при регистрации:
PHP Code:
    format(QUERY,sizeof(QUERY), "INSERT INTO "TABLE_ACCOUNTS" (`Name`, `pKey`, `pLevel`, `pDonatemoney2`, `pPnumber`, `pBank`, `pCash`, `pChar`, `pDataReg`, `pIpReg`, `pTut`, `pCar`, `pRank`, `pEmail`, `pDrug`, `pSex`) VALUES ('%s', MD5('%e'), '10', '15000', '%d', '100', '250000000', '%d', '%s', '%s', '1', '462', '1', '%s', '%s', '%d')"Name(playerid),pRegData[playerid][0],PlayerInfo[playerid][pPnumber],skinid,strstre,playersip,pRegData[playerid][1],pRegData[playerid][2], pRegData[playerid][3][0]);
    
mysql_tquery(dbHandleQUERY""""); 
Хэшируются нормально.

При авторизации читаю пароль так:
PHP Code:
            mysql_format(dbHandleQUERYsizeof(QUERY), "SELECT * FROM "TABLE_ACCOUNTS" WHERE `ID` = '%d' AND `pKey` = MD5('%e')"PlayerInfo[playerid][MysqlpID], inputtext);
            
mysql_tquery(dbHandleQUERY"LoginCallback""d"playerid); 
Но читает не правильно, пароль не верный. Что делать? Сам плагин рабочий (автор плагина ******).
Reply
#2

Дебагать пробовал?
На входе обоих частей точно одинаковые пароли?
При запросе странно как-то просить ID когда ты его в этом месте знать не должен, обычно логинятся что бы узнать идентификатор в базе?!
Reply
#3

Quote:
Originally Posted by Stepashka
View Post
Дебагать пробовал?
На входе обоих частей точно одинаковые пароли?
При запросе странно как-то просить ID когда ты его в этом месте знать не должен, обычно логинятся что бы узнать идентификатор в базе?!
Точно одинаковые.

Попробовал через ник вместо ID, тоже самое...
Reply
#4

Quote:
Originally Posted by Surprice
View Post
Точно одинаковые.

Попробовал через ник вместо ID, тоже самое...
А если напрямую в базе запрос выполнить, находит?
Reply
#5

Quote:
Originally Posted by Stepashka
View Post
А если напрямую в базе запрос выполнить, находит?
Отправил запрос:
PHP Code:
SELECT FROM `AccountsWHERE `Name` = '%s' AND `pKey` = MD5('%s'LIMIT 1 
PHP Code:
MySQL вернула пустой результат (т.еноль строк). ( Запрос занял 0.0010 сек. ) 
Reply
#6

Данные подставить надеюсь не забыл?
Reply
#7

Quote:
Originally Posted by Stepashka
View Post
Данные подставить надеюсь не забыл?
Подставил. Выдаёт.

Если подставить так:
PHP Code:
SELECT FROM `AccountsWHERE `Name` = 'тут пишу ник' AND `pKey` = MD5('тут пишу пароль'LIMIT 1 
То не выдаёт.

Если так:
PHP Code:
SELECT FROM `AccountsWHERE `Name` = 'тут пишу ник' AND `pKey` = тут пишу пароль LIMIT 1 
Выдаёт.
Reply
#8

PHP Code:
Name(playerid), pRegData[playerid][0], PlayerInfo[playerid][pPnumber], skinidstrstreplayersippRegData[playerid][1], pRegData[playerid][2], pRegData[playerid][3][0
Мне кажется, что тут что-то не так
Reply
#9

Quote:
Originally Posted by S4D
View Post
PHP Code:
Name(playerid), pRegData[playerid][0], PlayerInfo[playerid][pPnumber], skinidstrstreplayersippRegData[playerid][1], pRegData[playerid][2], pRegData[playerid][3][0
Мне кажется, что тут что-то не так
Проверил, похоже на то, но всё равно, понять не могу в чём же дело. Возможно всё дело в:
PHP Code:
pRegData[playerid][0
При замене pRegData[playerid][0] хэш - меняется (при создании нового аккаунта)
Reply
#10

Ммм, понятно
Reply
#11

Quote:
Originally Posted by S4D
View Post
Ммм, понятно
Как решить данную проблему?
Практически все варианты уже перепробовал.
Reply
#12

Исправил. Дело было в паблике LoginCallback
Reply
#13

А с какого перепугу ты вдруг используешь MD5 include (не plugin) от ******, если хэширование у тебя на уровне MySQL?
Reply


Forum Jump:


Users browsing this thread: 5 Guest(s)