Potreboval by som nazor plebsu. Premyslam, ze na stare kolena skusim predsa len nejaky marketing. Idea je tvorit idealne vtipne videa, ktore prezentuju firmu a zaroven zanechaju v divakovi nie az tak reklamny dojem, ale skor si ten pribehovy. Prva cast je o klasickom vikendovom utoku, ktory sa bezne deje, cize utocnik najde otvoreny deravy Windows server, pocka si na vikend a v piatok v noci zacne so sifrovanim jeho obsahu. Vacsinou este v sobotu sifrovanie bezi, ale prvi zamestnanci prichadzaju do prace az v pondelok, ked najdu nepouzitelne programy, databazy, zrazu nic nefunguje. Dnes uz nie je je vacsinou cesta ako data desifrovat, takze bud sa zplati vydieracovi (neodporucam), alebo sa obnovia data a cely server zo zalohy. Samozrejme s tym, ze sa aj uzavrie diera, ktorou sa utocnik dostal dnu.
Přejít na článek
update tabulka set pole = password(pole);
potom ale pri prihlasovani musis pouzivatelom zadane heslo checkovat nie zadane heslo voci hash, ale hash voci hash.
Cize do DB pride heslo, ktore zadal a skontrolujes ho tak, ze porovnas pole z tabulky voci password(zadane_heslo)
Myslel jsem, zdali neexistuje nejaky rychly prikaz v phpMyAdminovi.
a ten update akoze je pomaly prikaz?
este raz a pomaly:
momentalne mas user, ktori sa prihlasuju na stranku, cize zadaju meno a heslo. Ty potom zistujes v tabulke, ci existuje user s danym menom a heslo, pricom porovnavas meno s meno a heslo s heslom.
Ked urobis ten update, spravi z hesiel necitatelne hashe. Musis ale upravit potom prihlasovanie tak, ze najde v tabulke, ci existuje user s danym menom a hashom. User na stranke alebo kde zada svoje meno heslo, ty ho cez prikaz password zahashujes a porovnas voci zahashovanym heslam v tabulke pouzivatelov.
látot?
jak říká wam_Spider007 musíš to prohnat updatem.. ale také upravit skripty.. ty skripty co máš, tak zjevně budou čekat že tam bude to heslo "nezabezpečené"... a uživatel zadá například "heslo", ale v databázi bude nějaký hash a když si to porovnáš, tak se to nerovná.. to znamená, že už ve skriptech si musíš to heslo co uživatel zadává zahashovat a to následně teprve porovnávat s DB
Takže když mám:
Kde mám vložit hash?
To heslo hashuj ještě před dotazem v PHP.
Ale především : Tvůj dotaz v mysql_query není bezpečný. Např. řetězcové hodnoty sevři do mysql_real_escape_string.
Viz
http://php.net/manual/en/function.mysql-real-escap e-string.php
i s příklady.
Fatal error: Call to undefined function password() on line 16
Password je funkce MySQL k hashování, takže by to mělo fungovat takto :
(neodzkoušeno).
Anebo použij ještě předtím funkce PHP.
A znovu připomínám mysql_real_escape_string !!!
nj, tak to vyzera, ked sa namiesto SQL procedur pouziva drbanie SQL query do PHP kodu.
osobně bych to viděl nějak takto
já používám v PHP hashování do MD5
ale nyní už využívám i tzv. "sůl".. takž nějak takto
ja tomu rozumim jak koza petrželi, neb jde mysql mimo mne ale sul byla vzdycky druhy parametr hashe, ne pouziti sha1 a md5 dohromady co tu vidim.
vzdyt cisty update je to nejrychlejsi co muzes mit, v Oracle muzes alternativne to pustitl paralelne a vynutit si asynchorni commit - a tim si skoncil, rychlejsi jiz to NEBUDE.