⊗ppPmAuRHS 424 of 447 menu

Qeydiyyatda duz əlavə etmək

Beləliklə, artıq bilirsiniz ki, md5 vasitəsilə heşləmə - geri dönməz prosesdir və heşə əldə edən haker, bu heş vasitəsilə parolu əldə edə bilməz.

Əslində bu ifadə tam doğru deyil - hazırda pis niyyətli hakerlər məşhur və daha az məşhur parolların heş kitabxanalarını yaratmışlar və hər hansı bir axmaq sadəcə onun heşini axtararaq parolu tapa bilər.

Bu, kifayət qədər sadə, məşhur parollar haqqındadır.

Məsələn, 827ccb0eea8a706c4c34a16891f84e7b heşini axtarın və dərhal Google axtarışında bunun '12345' parolu olduğunu görəcəksiniz.

Kifayət qədər mürəkkəb parolların heşlərini bu şəkildə tapmaq mümkün deyil (sınayın).

Sorşa bilərsiniz, problem onda nədir - gəlin hamımız mürəkkəb parollarla qeydiyyatdan keçək. Lakin bir problem var - istifadəçilərin əksəriyyəti öz məlumatlarının təhlükəsizliyi barədə düşünmür və kifayət qədər sadə parollar daxil edə bilər.

Qeydiyyat zamanı istifadəçiləri daha uzun parol tapmağa məcbur edə bilərik, məsələn, minimum simvol sayını 6 və ya 8 ilə məhdudlaşdıraraq, lakin yenə də '123456' ya da '12345678' tipli parollar meydana çıxacaq.

Əlbəttə, parolun mürəkkəbliyini yoxlamaq üçün daha ağıllı alqoritm tapmaq olar, amma başqa bir həll var.

Bu həllin mahiyyəti belədir: parolları duzlamaq lazımdır. Duz - bu, xüsusi təsadüfi sətirdir, hansı ki, qeydiyyat zamanı parola əlavə olunacaq və heş artıq sadə paroldan deyil, duz+parol sətirindən, yəni duzlanmış paroldan hesablanacaq.

Yəni qeydiyyat zamanı siz bu cür bir şey edəcəksiniz:

<?php $salt = '1sJg3hfdf'; // duz - mürəkkəb təsadüfi sətir $password = md5($salt . $_POST['password']); // parolu duzlanmış heşə çeviririk ?>

Bu zaman hər bir istifadəçi üçün duz fərqli olacaq, onun qeydiyyat anında təsadüfi şəkildə yaradılması lazımdır.

Budur, bunu edəcək hazır funksiya:

<?php function generateSalt() { $salt = ''; $saltLength = 8; // duzun uzunluğu for($i = 0; $i < $saltLength; $i++) { $salt .= chr(mt_rand(33, 126)); // ASCII cədvəlindən simvol } return $salt; } ?>

Bu funksiya vasitəsilə bizim kodumuzu belə yenidən yaza bilərik:

<?php $salt = generateSalt(); // duz $password = md5($salt . $_POST['password']); // duzlanmış parol ?>

Bir daha təkrar edirəm ki, bunlar qeydiyyat zamanı edilən dəyişikliklər idi - VT-də sadəcə parolun heşini deyil, duzlanmış parolun heşini saxlayırıq.

Bu, hələ hamısı deyil: istifadəçilər cədvəlində loginpassword sahələrindən əlavə, hər bir istifadəçinin duzunu saxlayacağımız salt sahəsi də olmalıdır.

Yuxarıda təsvir olunan duzlanmış parolla qeydiyyatı həyata keçirin.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et