⊗ppPmAuRHS 424 of 447 menu

Рўйҳатдан ўтишда туз қўшиш

Шу сари, сиз md5 орқали хешлаш - бу қайтариб бўлмайдиган жараён ва хешга кириш ҳозир қилган ҳакер, ушбу хеш орқали паролни ола олмаслигини биласиз.

Аслида бу такдир ўзида тўғри эмас - ҳозирги вақтда ёмон ниятли ҳакерлар оммабоп ва бошқа паролларнинг хешлар кутубхонасини туздилар ва ҳар қандай ахмоқ унинг хешини фақат Google орқали излаб топиш билан паролни аниқлай олади.

Бу жуда содда, оммабоп пароллар ҳақида.

Масалан, 827ccb0eea8a706c4c34a16891f84e7b хешини Google да изланг ва сиз дарҳол Google излашда бу '12345' пароли эканлигини кўрасиз.

Жуда қийин паролларнинг хешларини шу тарзда аниқлаб бўлмайди (синаб кўринг).

Сиз щундай савол беришингиз мумкин, у ҳолда муаммо нимада - келинг ҳаммимиз қийин пароллар билан рўйҳатдан ўтамиз. Аммо, бир муаммо бор - фойдаланувчиларнинг кўпи ўзларининг маълумотлари xавфсизлиги ҳақида ўйламайдилар ва жуда содда паролларни киритишлари мумкин.

Биз рўйҳатдан ўтганда уларни яна узунроқ паролларни тўпиришга мажбурлашимиз мумкин, масалан, минимал белгилар сонини 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']); // тузланған парол ?>

Яна бир бор такрорлайман, бу рўйҳатдан ўтишдаги ўзгаришлар эди - МБ да биз жуда парол хешини эмас, балки тузланған парол хешини сақлаймиз.

Бу ҳали ҳаммаси эмас: фойдаланувчилар jадвалида 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çeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш