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

PHP पासवर्ड_ सत्यापित करें डेटाबेस के विरुद्ध काम नहीं कर रहा है

\n निम्न पंक्ति में, एक लाइनब्रेक एम्बेड कर रहा है, (संपादित करें:एक जिसे उपयोगकर्ता इनपुट पासवर्ड में शामिल नहीं किया जा सकता है)

$password = password_hash($pass,  PASSWORD_BCRYPT, $options)."\n";

और आपको इसे हटाना होगा और एक नए हैश के साथ शुरुआत करनी होगी।

जे ब्लैंचर्ड , यहां स्टैक पर एक सदस्य ने एक नोट सबमिट किया इसके बारे में password_hash() मैनुअल, जिसके बारे में उन्होंने और मैंने वास्तव में बात की थी।

एक अन्य विकल्प trim() का उपयोग करना होगा ; वह भी काम करता है (हैशिंग के समय)।

$password = password_hash($pass,  PASSWORD_BCRYPT, $options)."\n";
$password = trim($password);
// Store in db after

फिर भी आपको अभी भी पुराने हैश (हैश) को साफ़ करके और नए हैश बनाकर शुरू करने की आवश्यकता है।

हालांकि, ध्यान रखें कि आपको पासवर्ड से बचना नहीं चाहिए।

एक जैसे 123'\abc (पूरी तरह से मान्य होने के कारण) को 123\'\abc . में संशोधित किया जाएगा द्वारा real_escape_string() ; इसकी आवश्यकता नहीं है। password_verify() सुरक्षा के लिहाज से इसका ख्याल रखता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कक्षा 'mysqli_connect' नहीं मिली

  2. MySQL उन सभी पंक्तियों को हटा देता है जहाँ आईडी दी गई संख्या से अधिक है

  3. रिकर्सिव फ़ंक्शन के साथ इको मेनू ट्री

  4. Oracle में DECODE फ़ंक्शन के MySQL समकक्ष

  5. PHP में -> और ::के बीच अंतर MySQLi OOP