Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2014-10-05, 20:10


Vike4562

LUA <3






Wiek: 28
Na forum: 4937 dni
Posty: 144
Nick w MP: Vike4562

Piwa: 32

Respekt: 61

Witam, mam pytanie co do MySQL, poniewa? wszystkie has?a kont koduj? si?.

W ten spos?b:
haslo=MD5('" .. password .. "')

Co musz? da? ?eby podczas weryfikacji nie podawa?o mi zakodowanego has?a tylko odkodowane ?

Za pomoc :arrow: :arrow: :piwo:

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-05, 20:15


TheTroll

Pan Majster






Wiek: 38
Na forum: 4764 dni
Posty: 219
Nick w MP: TheTroll

Piwa: 1114

Respekt: 120
Respekt: 120

haslo=('" .. password .. "') prosze

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-05, 20:18


Vike4562

LUA <3






Wiek: 28
Na forum: 4937 dni
Posty: 144
Nick w MP: Vike4562

Piwa: 32

Respekt: 61

No chyba raczej nie..

Je?eli mam tak? funkcj? na odczytanie tabeli:
Kod:

result = mysql_query(database,"SELECT * FROM `Konta` WHERE `login` = 'Nazwa konta'")
local row = mysql_fetch_assoc(result)
if row then
outputChatBox("Has?o: ".. row.haslo .. "", playerSource)
end


To jak mam to niby zastosowa? ?

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-05, 20:49


McDeKi







Wiek: 28
Na forum: 4844 dni
Posty: 95
Nick w MP: McDeKi

Piwa: 186

Respekt: 60

Nie radze u?ywa? modu?u mySQL, lepiej u?yj wbudowanych funkcji dbConnect itd., dla wygody polecam https://github.com/lpiob/MTA-XyzzyRP/blob/master/resources/%5BXyzzyRP%5D/DB2/sql.lua


result mysql_query(database,"SELECT * FROM `Konta` WHERE `login` = 'Nazwa konta'"


Pobieranie wszystkich kolumn jest wed?ug mnie bez sensu.

Has?a zapisane w MD5 to hashe, kt?rych nie mo?esz odczyta? ponownie.

Dla wi?kszego bezpiecze?stwa polecam u?yc soli ( u?y?em statycznej, dla wi?kszego bezpiecze?stwa lepiej u?y? dynamicznej (dla ka?dego u?ytkownika inna wygenerowana s?l))


--//Przyk?ad
exports.DB2:zapytanie("INSERT INTO Konta (haslo, login) VALUES (?, ?)"md5(md5("PrzykladowaSol")..md5(haslo)), login )




wynikQuery exports.DB2:pobierzWyniki("SELECT haslo, login FROM Konta WHERE haslo=? AND login=?"md5(md5("PrzykladowaSol")..md5(haslo)), login)
if wynikQuery then
    outputChatBox("Zalogowany")
    else
    outputChatBox("NOPE")
end


Ostatnio zmieniony przez McDeKi 2014-10-05, 21:16, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-05, 21:08


Vike4562

LUA <3






Wiek: 28
Na forum: 4937 dni
Posty: 144
Nick w MP: Vike4562

Piwa: 32

Respekt: 61

Dzi?ki, sprawdz? to jak b?d? mia? czas :)

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-06, 11:47


Wielebny







Wiek: 41
Na forum: 5499 dni
Posty: 257
Nick w MP: Wielebny

Piwa: 1690

Respekt: 180
Respekt: 180Respekt: 180

"Vike4562" napisał/a:

Witam, mam pytanie co do MySQL, poniewa? wszystkie has?a kont koduj? si?.

W ten spos?b:
haslo=MD5('" .. password .. "')

Co musz? da? ?eby podczas weryfikacji nie podawa?o mi zakodowanego has?a tylko odkodowane ?


Funkcja MD5 jest funkcj? jednostronn?, nie ma mo?liwo?ci przekszta?cenia zakodowanej postaci w odkodowan?.

Zamiast oczekiwa? sposobu na odkodowanie has?a MD5 aby por?wna? je z tym co poda? gracz, powiniene? zakodowa? to co poda? gracz i por?wna? z tym co ju??jest zakodowane.

Mo?esz te? zrobi? to od razu w zapytaniu:

exports.DB:pobierzWyniki("SELECT 1 FROM konta WHERE login=? AND haslo=MD5(?)", login, haslo)

^ zwr?ci 1 je?li has?o zgadza si? z tym zapisanym w bazie (zakodowanym wcze?niej za pomoc? MD5).

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-06, 19:14


Vike4562

LUA <3






Wiek: 28
Na forum: 4937 dni
Posty: 144
Nick w MP: Vike4562

Piwa: 32

Respekt: 61

Wielebny, masz racj?, dzi?ki :)

Ale chcia? bym wiedzie? czy istniej? opcja kodowania w MTA tak jak koduje to MySQL, bo w SQL jest opcja zaznaczenia przy edycji "PASSWORD" ale koduje to inaczej ni? MTA.

Chcia? bym mie? opcje edytowania bazy w ka?dej chwili ( ustawiania nowego has?a, bez wchodzenia na serwer )

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-07, 12:43


Wielebny







Wiek: 41
Na forum: 5499 dni
Posty: 257
Nick w MP: Wielebny

Piwa: 1690

Respekt: 180
Respekt: 180Respekt: 180

Zgaduj?, ?e m?wisz o opcji PASSWORD widocznej przy li?cie p?l w phpmyadmin. To wewn?trzna funkcja mysql, nie wiem z jakiego rodzaju hashowania/szyfrowania korzysta, prawdopodobnie nie jest dost?pna w czystym MTA i by? mo?e mo?na j??zaimplementowa? w Lua - ale nie musisz tego robi?, gdy? zawsze mo?esz dokona? operacji hashowania bezpo?rednio w zapytaniu SQL, np. podczas rejestracji konta:

INSERT INTO konta SET login=?,haslo=PASSWORD(?);

Postaw piwo autorowi tego posta
 

 
Tagi: kodowanie :: mysql
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku