⊗ppPmAuRHS 424 of 447 menu

Каттоодо туз кошуу

Ошентип, сиз буга чейин эле md5 аркылуу хештео - бул кайтарылгыс процесс экенин жана хакер, хешке киргенде, ал хеш аркылуу сырсөздү ала албай турганын билесиз.

Иш жүзүндө бул айтылым толугу менен туура эмес - азыркы учурда жаман ниеттүү хакерлер популярдуу жана анча популярдуу эмес сырсөздөрдүн хеш китепканаларын түзүшкөн жана ар кандай акмак сырсөздү жөн эле анын хешин издеп таап таба алат.

Бул жөнөкөй, популярдуу сырсөздөр жөнүндө.

Мисалы, 827ccb0eea8a706c4c34a16891f84e7b хешин издеп көрүңүз жана ошол замат Google издөөсүндө сиз бул '12345' сырсөзү экенин көрөсүз.

Оор сырсөздөрдүн хештерин ушундай жол менен ачуу мүмкүн эмес (аракет кылып көрүңүз).

Сиз суроо беришиңиз мүмкүн, анда көйгөй эмнеде - келгиле, баарыбыз оор сырсөздөр менен катталалы. Бирок, бир көйгөй бар - көпчүлүк колдонуучулар өз маалыматтарынын коопсуздугу жөнүндө ойлонушпайт жана жетиштүү жөнөкөй сырсөздөрдү киргизиши мүмкүн.

Каттоо учурунда биз узун сырсөздөрдү ойлоп табууну талап кылышыбыз мүмкүн, мисалы, минималдуу белгилердин санын 6 же 8 менен чектөө менен, бирок, бардык эле учурда '123456' же '12345678' сыяктуу сырсөздөр пайда болот.

Албетте, сырсөздүн татаалдыгын текшерүүнүн акылдуураак алгоритмин ойлоп табууга болот, бирок башка чечим бар.

Бул чечимдин мүлкү төмөнкүдөй: сырсөздөрдү туздаш керек. Туз - бул атайын кокустук сап, ал каттоо учурунда сырсөзгө кошулат жана хеш эми жөнөкөй сырсөздөн эмес, туз+сырсөз сабынан, башкача айтканда туздалган сырсөздөн эсептелет.

Башкача айтканда, каттоо учурунда сиз төмөнкүнү жасайсыз:

<?php $salt = '1sJg3hfdf'; // туз - татаал кокустук сап $password = md5($salt . $_POST['password']); // сырсөздү туздалган хешке айландырабыз ?>

Бул учурда туз ар бир колдонуучу үчүн ар түрдүү болот, аны каттоо учурунда кокустук түрдө генерациялоо керек.

Муну жасай турган даяр функция төмөнкүдөй:

<?php function generateSalt() { $salt = ''; $saltLength = 8; // туздун узундугу for($i = 0; $i < $saltLength; $i++) { $salt .= chr(mt_rand(33, 126)); // ASCII-таблицадагы символ } return $salt; } ?>

Бул функциянын жардамы менен биздин кодду төмөнкүчө кайра жаза алабыз:

<?php $salt = generateSalt(); // туз $password = md5($salt . $_POST['password']); // туздалган сырсөз ?>

Дагы бир жолу кайталап кетейин, бул каттоо учурундагы өзгөртүүлөр болду - МБга биз жөнөкөй сырсөздүн хешин эмес, туздалган сырсөздүн хешин сактайбыз.

Бул баары эмес: колдонуучулар таблицасында login жана password талааларынан тышкары salt талаасын да түзүш керек, анда биз ар бир колдонуучунун тузун сактайбыз.

Жогоруда баяндалган туздалган сырсөз менен каттоону ишке ашырыңыз.

Кыргызча
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어LietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу