⊗ppPmAuRHS 424 of 447 menu

Ro'yxatdan o'tishda tuz qo'shish

Shunday qilib, siz allaqachon bilasizki, md5 orqali xeshlash - bu qaytarib bo'lmaydigan jarayon va xaker xeshga kirish huquqiga ega bo'lsa, ushbu xesh yordamida parolni olishi mumkin emas.

Aslida bu bayonot to'liq to'g'ri emas - hozirgi vaqtda yomon niyatli xakerlar mashhur va unchalik mashhur bo'lmagan parollarning xesh kutubxonalarini tuzdilar va har qanday ahmoq parolni shunchaki uning xeshini qidirib topish orqali ochishi mumkin.

Bu yetarlicha oddiy, mashhur parollar haqida.

Misol uchun, 827ccb0eea8a706c4c34a16891f84e7b xeshini qidiring va darhol Google qidiruvida siz ko'rasiz, bu '12345' paroli ekanligini.

Yetarlicha murakkab parollarning xeshlarini shu tarzda ochib bo'lmaydi (sinab ko'ring).

Siz savol berishingiz mumkin, unda muammo nima - keling, hammamiz murakkab parollar bilan ro'yxatdan o'tamiz. Biroq, muammo shundaki - aksariyat foydalanuvchilar o'z ma'lumotlarining xavfsizligi haqida o'ylamaydilar va yetarlicha oddiy parollarni kiritishlari mumkin.

Ro'yxatdan o'tish paytida biz foydalanuvchilarni uzunroq parol o'ylab topishga majburlashimiz mumkin, masalan, minimal belgilar sonini 6 yoki 8 bilan cheklab, biroq, baribir '123456' yoki '12345678' kabi parollar paydo bo'ladi.

Albatta, parol murakkabligini tekshirish uchun yana bir aqlli algoritmni o'ylab topish mumkin, lekin boshqa yechim ham mavjud.

Ushbu yechiming mazmuni shu: parollarni tuzlash kerak. Tuz - bu maxsus tasodifiy satr, u ro'yxatdan o'tish paytida parolga qo'shiladi va xesh endi oddiy paroldan emas, balki tuz+parol satridan, ya'ni tuzlangan paroldan hisoblanadi.

Ya'ni ro'yxatdan o'tish paytida siz quyidagiga o'xshash narsa qilasiz:

<?php $salt = '1sJg3hfdf'; // tuz - murakkab tasodifiy satr $password = md5($salt . $_POST['password']); // parolni tuzlangan xeshga aylantiramiz ?>

Bunda tuz har bir foydalanuvchi uchun har xil bo'ladi, uni ro'yxatdan o'tish paytida tasodifiy tarzda yaratish kerak.

Mana buni amalga oshiradigan tayyor funktsiya:

<?php function generateSalt() { $salt = ''; $saltLength = 8; // tuz uzunligi for($i = 0; $i < $saltLength; $i++) { $salt .= chr(mt_rand(33, 126)); // ASCII-jadvaldan belgi } return $salt; } ?>

Ushbu funktsiya yordamida bizning kodimizni quyidagicha qayta yozish mumkin:

<?php $salt = generateSalt(); // tuz $password = md5($salt . $_POST['password']); // tuzlangan parol ?>

Takrorlayman, bular ro'yxatdan o'tishdagi o'zgarishlar edi - Ma'lumotlar Bazasiga oddiy parol xeshini emas, balki tuzlangan parol xeshini saqlaymiz.

Bu hammasi emas: foydalanuvchilar jadvalida login va password maydonlaridan tashqari yana salt maydonini ham qilish kerak, unda biz har bir foydalanuvchining tuzini saqlaymiz.

Yuqorida tavsiflangan tuzlangan parol bilan ro'yxatdan o'tishni amalga oshiring.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish