Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

इस उपयोगकर्ता प्रमाणीकरण पद्धति की कमजोरियां क्या हैं?

अपने आप पर एक एहसान करें और एक मानक पुस्तकालय का उपयोग करें अपने पासवर्ड हैश करने के लिए।

चूंकि सुरक्षा बहुत अधिक जटिल होती है और अधिकांश प्रोग्रामर अकेले निपटने की तुलना में अधिक अदृश्य स्क्रू अप संभावनाओं के साथ, मानक पुस्तकालय का उपयोग करना लगभग हमेशा सबसे आसान और सबसे सुरक्षित (यदि एकमात्र नहीं) उपलब्ध विकल्प होता है।

मानक पुस्तकालय :
एक नज़र डालें:पोर्टेबल PHP पासवर्ड हैशिंग फ्रेमवर्क :phpass और सुनिश्चित करें कि आप CRYPT_BLOWFISH . का उपयोग करते हैं यदि संभव हो तो एल्गोरिदम।

Phpass (v0.2) का उपयोग कर कोड का उदाहरण:

require('PasswordHash.php');

$pwdHasher = new PasswordHash(8, FALSE);

// $hash is what you would store in your database
$hash = $pwdHasher->HashPassword( $password );

// $hash would be the $hashed stored in your database for this user
$checked = $pwdHasher->CheckPassword($password, $hash);
if ($checked) {
    echo 'password correct';
} else {
    echo 'wrong credentials';
}

PHPass को कुछ प्रसिद्ध परियोजनाओं में लागू किया गया है:

  • phpBB3
  • वर्डप्रेस 2.5+ और साथ ही bbPress
  • Drupal 7 रिलीज़, (Drupal 5 और 6 के लिए मॉड्यूल उपलब्ध)
  • others

अच्छी बात यह है कि आपको विवरणों के बारे में चिंता करने की आवश्यकता नहीं है, उन विवरणों को अनुभव वाले लोगों द्वारा प्रोग्राम किया गया है और इंटरनेट पर कई लोगों द्वारा समीक्षा की गई है।

आप जो कुछ भी करते हैं यदि आप 'मैं इसे स्वयं करूँगा, धन्यवाद ' दृष्टिकोण, MD5 का उपयोग न करें अब और . यह एक अच्छा हैशिंग एल्गोरिथम है, लेकिन सुरक्षा उद्देश्यों के लिए पूरी तरह से टूटा हुआ है

वर्तमान में, crypt का उपयोग कर रहे हैं , CRYPT_BLOWFISH के साथ सर्वोत्तम अभ्यास है।
PHP में CRYPT_BLOWFISH Bcrypt हैश का कार्यान्वयन है। Bcrypt, ब्लोफिश ब्लॉक सिफर पर आधारित है, जो एल्गोरिथम को धीमा करने के लिए अपने महंगे कुंजी सेटअप का उपयोग करता है।

पासवर्ड भंडारण योजनाओं के बारे में अधिक जानकारी के लिए, आप Jeff भी पढ़ सकते हैं। इसके बारे में `s ब्लॉग पोस्ट:आप शायद पासवर्ड गलत तरीके से स्टोर कर रहे हैं



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यूयूआईडी को बाइनरी के रूप में सम्मिलित करना और चुनना(16)

  2. MySQL, PostgreSQL और Redis™ के लिए स्केलग्रिड DigitalOcean समर्थन अब उपलब्ध है

  3. सभी तालिकाओं को छोटा करें (जिनमें से अधिकांश में बाधाएं हैं)। उन्हें अस्थायी रूप से कैसे छोड़ें

  4. वेब कॉन्फ़िग फ़ाइल में कनेक्शन स्ट्रिंग के साथ समस्या

  5. उप-चयन एसक्यूएल क्वेरी mysql 4 पर काम नहीं करती है