Autor | Zpráva | ||
---|---|---|---|
Steeta Profil * |
#1 · Zasláno: 20. 12. 2009, 23:15:13
Ahoj, už mi to nějak nemyslí.
Jak vložit funkci hash('sha256', db_sloupec) do sql dotazu? třeba na příkladu: mysql_query("SELECT id, prava, CONCAT('".trim($_POST['pass'])."',salt) AS db_pass FROM v_user WHERE user='".mysql_real_escape_string(trim($_POST['nick']))."' AND pass = '".hash('sha256', db_pass)."' ") or die(mysql_error()); nějak to tam nemůžu spárovat, aby to šlapalo jak má. to spojení CONCAT funguje správně, ale už to nedokážu zahashovat. a nechce se mi dělat zbytečně SQL dotaz navíc pro zjištění soli. předem dík za pomoc |
||
Alphard Profil |
#2 · Zasláno: 20. 12. 2009, 23:22:18
db_pass je konstanta?
|
||
Steeta Profil * |
#3 · Zasláno: 20. 12. 2009, 23:29:56
Alphard:
nn. tím jsem chtěl docílit toho, že budu mít sloučenou sůl s POSTem z formuláře a to potom použíju k zahashování :) asi špatná cesta :D |
||
Alphard Profil |
#4 · Zasláno: 20. 12. 2009, 23:33:58
Teď to vidím, ale vámi použitý hash() je php funkce. Nejdříve se provede vše na straně PHP a až pak se pospojovaný řetězec předá databázi, tohle nemůže fungovat.
|
||
Nox Profil |
#5 · Zasláno: 20. 12. 2009, 23:34:48
Alphard (a Steeta)
Není, dbpass je (dá-li se to tak nazvat) alias pro výsledek té konkatenace, tady se posílá hodnota z DB do PHP který ten dotaz pošle, čímž tu máme krásnou časovou anomálii :-) Pokud máš sůl uloženou speciálně a nejde ji nijak odvodit, tak se bude muset ten query udělat... jinak prostě v php hash($nazev_algoritmu, salt_password($password, $dalsi_prvky_receptu)) function salt_password(...){ return /* magie */ } zkrášlování proměnných by mohlo být mimo dotaz, bylo by to asi přehlednější + http://www.phpfreaks.com/blog/or-die-must-die |
||
Steeta Profil * |
#6 · Zasláno: 20. 12. 2009, 23:40:43
dobře, šel jsem na to asi špatně. Jsem si vědom toho, že hash() je php funkce. Bohužel jsem nenašel alternativu pro mysql funkci, proto jsem doh SQL dotazu cpal tu php funkci. Ale doufam, že bude. Existuje tedy alternativa pro sha256?
|
||
nightfish Profil |
#7 · Zasláno: 21. 12. 2009, 11:02:14 · Upravil/a: nightfish
Steeta:
„Existuje tedy alternativa pro sha256?“ sha2 bylo přidáno do vývojové větve ve verzi 6.0.5 - tím byly ukončeny 2 tickety z bugzilly, které o přidání této vlastnosti usilovaly nicméně v průběhu tohoto roku, jak jsem pochopil, byl vývoj řady 6.0 ukončen, teď byla vydána verze 5.5, ve které to ale implementováno není... řešením je zřejmě vyplnit feature request na bugzille a v mezidobí možná použít patch, který podporu přidává (pokud máte vlastní server) |
||
Kajman_ Profil * |
#8 · Zasláno: 21. 12. 2009, 12:11:24
Sloupec v_user není jedinečný? Pak by přeci stačil jeden select, co vrátí práva, sůl a výsledný hash. Kontrola se už udělá v php.
|
||
Časová prodleva: 14 let
|
0