Autor Zpráva
Ohyeah
Profil *
Hojas, Mám tady takovej problé dělal jsem podle návodu ale prostě to nefunguje ! :(

Registrační formulář funguje : Registrují se přes username a password
Login formulář funguje taktéž po přihlášení je to vezme do členské části ALE !!!!

Když dám že to má vzít z databáze 'Password' tak to funguje ale když to zašifruju do enc_password md5 Tak zaboha NE !!! Díky
lionel messi
Profil
Ohyeah:
1. Skús písať trošku kultivovanejšie, šetri výkričníkmi (mimochodom, pred interpunkciou sa nepíše medzera) a VEĽKÝMI písmenami. Problém to síce nevyrieši, ale zvýši počet ľudí ochotný sa ním zaoberať.

2. Ukáž konkrétny kód. Malá poznámka, keď heslo hashuješ (použitím md5 ho nešifruješ) napr. pomocou md5("123456"), musíš pri výbere z databázy prehnať užívateľský vstup zodpovedajúcou hashovacou funkciou, napr.: SELECT * FROM uzivatele WHERE jmeno = md5('$_POST[jmeno]').
juriad
Profil
Jaká je definice (velikost) sloupce enc_password v databázi?
Keeehi
Profil
lionel messi:
Od kdy se prosím tebe hashuje uživatelské jméno.

Ohyeah:
Když už to chceš dělat bezpečné, tak prosím rovnou pořádně. md5 je dnes už zastaralé a nebezpečné. Na kontrolní součty u souborů to stačí ale na hashování hesel ani náhodou.
Spolehlivé řešení je dnes funkcí crypt, jejíž chování se však nastavuje druhým parametrem a je velmi důležité to udělat správně. Pro inspiraci se můžeš podívat, jak to dělá nette.

Funkce crypt interně také využívají PHP funkce password_hash() a password_verify() které pro tebe budou asi přívětivější.
Ohyeah
Profil *
Díky Keeehi rozhodně se na to podívám !

juriad Podívám se nato a hned odpovím


Ješte bych se chtěl zeptat na co to kryptování vlastně je. Na mojí stránce si nemůžou to heslo změnit takže kdyby to někdo hacknut naco by mu to bylo ??
Joker
Profil
Ohyeah:
Ješte bych se chtěl zeptat na co to kryptování vlastně je.

Tak v první řadě MD5 ani jiný hash není šifrování.

Šifrování je od toho, aby si tajná data nemohl nikdo nepovolaný přečíst cestou k příjemci a naopak příjemce je mohl dešifrovat do původní podoby.

Naopak při hashování se část informace ztratí, takže z hashe (otisku) už nejde získat původní data, ze kterých byl vytvořen.
Nicméně stejná data dají vždycky stejný hash.
Takže z hashe nevím, jaké je uživatelovo heslo, ale umím porovnat, jestli zadal stejné, nebo jiné. (Resp. teoreticky existují i jiná hesla, která dají stejný hash. Tomu se říká kolize. Ale kvalitní hashovací algoritmus by neměl umožňovat nějaké vypočítání kolize z hashe a pravděpodobnost náhodného zadání kolizního hesla je prakticky nulová.)

Čili tímhle způsobem můžu ověřit uživatelovo heslo aniž bych to heslo znal.
Ani člověk s přístupem do databáze (oprávněným nebo neoprávněným) nedokáže zjistit hesla uživatelů.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: