0:00
अल्लेट गैस अपने पिछले वीडियो में मैंने बताया था आप लोगों को कि ये हैशिंग क्या चीज होती है और क्यों हैशिंग यूज़ करते हैं हम लो�
0:06
अब हम लोग यहाँ पर implement करेंगे उसी हैशिंग को PHP के अंदर हम लोग देखेंगे कि हमने जो login system ये बनाया ह�
0:13
उस login system को किस तरह से हम लोग एक secure login system बना सकते है�
0:20
तो अगर आप लोगों को script दिखाओं तो यह sign up है, यह login है एक बहुत ही quick demo, एक GG के नाम से account बनाता हू�
0:26
और GG के नाम से जब login में जाके login करूँगा तो यह मुझे बताएग�
0:30
कि वेलकम जी आपका स्वागत है और यहाँ पर सिंबल्स है एक लॉगिन सिस्टम ह�
0:35
जो की यूजर निम पासवर्ड को डारेक्टली डेटाबेस में स्टोर कर देता ह�
0:39
लेकिन ये एक सिक्योर लॉगिन सिस्टम नहीं है क्योंकि अगर मेरा डेटाबे�
0:43
चोरी हो गया ये टेबल चुरा ली किसी ने तब क्या होगा तो ए�
0:47
अच्छा तरीका ये होगा कि जब मैं अपने यूजर्स को साइन अप करवा रहा हू�
0:51
तब मैं पासवर्ड स्टोर ना करा के यहाँ पर पासवर्ड हैश स्टोर करा हूँ यान�
0:57
कि जब मैं कह रहा हूँ कि अगर password बराबर हो जाता है c password क�
1:01
तो आप क्या करो एक hash generate करो तो मैं कहूँगा कि बाई इस password का hash बना ल�
1:07
और password का hash कैसे बनता है password hash function से तो आप देखो यहाँ पर password hash
1:14
और उसके बाद मैं यहाँ पर जो password है वो डाल दूँगा और यहाँ पर dollar भी लगा लेते है�
1:21
अब यहाँ पर मैंने password hash जो है यह लिख कर इसके अंदर password दे दिय�
1:28
अब मैं यहाँ पर क्या करूँगा मैं hash को store करूँगा तो मैं यह कहूँगा कि बई देखो ऐसा ह�
1:35
जब कोई sign up करे तो उसका password store ना करके उसके hash को store कर�
1:39
अब यहाँ पर जो यह password hash होता है इस function के बारे में थोड़ा सा और देखते है�
1:45
PHP के manual में चलकर जो कि वही अमको बताएगा कि क्या चीज इसमें क्यों ह�
1:52
कैसे है क्या return करता है कब return करता है क्यों return करता ह�
1:57
यह सब का सब यहाँ पर देखो यह बताया हुआ है तो इसको आप एलगॉरिदम भी पास कर सकते हो कि वह कौन सा मेकानिजम है जिससे यह व�
2:05
वे हैचिंग करता है एक गिवन पासवर्ड की तो यह देखो यह बता रहा है कि अगर आपने पासवर्ड है इस तरह से यूज किय�
2:13
तो यह आप लोगों को यहाँ पर इस तरह से above example will output something similar to यह ठीक है तो यहाँ पर ए�
2:22
चीज और भी वेद डिफॉर्ट में चेंज ओवर टाइम सो यू वोड वांट टू प्रेपेयर बाय लॉइंग यह स्टोरेज ट्रैक्सपें�
2:28
पास 60 करेक्टर्स तो यह नहीं 255 करेक्टर्स तक आप लोग जो है ले लो इस चीज को तो मैं क्या करूंगा कि ज�
2:34
पासवर्ड डिफॉल्ट है इसको मैं आप पर कॉपी कर लेता हूं और देखो ने और भी एग्जांपल दिए हुए तो दूसरा इसक�
2:41
argument वो है password का जो algorithm वो है ठीक है तो मैं यहाँ पर क्या करूँगा उसको कर दूंग�
2:47
password default तो मैं एक बहुत ही simple सा login system यहाँ पर implement करके दिखाना चाहता हूँ त�
2:56
मैंने यहाँ पर इसका जो दूसरा method है वो password default कर दिया अब जरह यह देखता हूँ कि मेरा ज�
3:01
डाइटाबेस है उसमें यह यार 255 करेक्टर सब्सक्राइब रखो तो मैं कहता हूं भाई चलो ठीक है आ�
3:09
255 password 255 character account account secure
3:24
तो मैं इस account को log out करूँगा और sign up करूँगा नए account स�
3:28
जिसका नाम secure रखूँगा और password में one रखूँगा तो password मुझे याद दिला देना मैं भूल जाओं तो one है password
3:35
sign up किया मैंने और यह कहा रहा है बन चुका है आपका account देखते हैं account बनाए की नहीं और इस बार देखो यहाँ प�
3:41
password की जगा पर एक string है बड़ी अजीब सी शायद आप लोग बोलो यार ये क्या ह�
3:47
ठीक है तो ये देखो यहाँ पर password मैंने one रखा था I repeat login में अगर मैं अभी य�
3:53
secure डालू और उसके बाद one डालू तो ये definitely बना ही करेगा बोलेगा invalid credentials
3:59
क्योंकि अभी at this point अगर मैं अपनी login script की बात करूँ तो वो क्या करता ह�
4:05
वो password जो input किया गया है उसको database से fetch करके मिला लेता ह�
4:09
लेकिन मैं ये काम करने के लिए password verify का use करूँगा तो मैं कहूँगा क�
4:15
जो password verify है और मैं यहाँ पर php manual लिखता हूँ कि मैं php manual
4:23
का जो password verify function है वो use करना चाहता हूँ तो इसमें क्या है कि आपको password डालना है और hash डालना ह�
4:30
और यह एक Boolean return करेगा अगर password match होता है तो true return करेगा वरना false return करेग�
4:37
अब एक चीज़ confuse मत होना इस चीज़ से यह string matching नहीं कर रहा ह�
4:41
ऐसा नहीं है कि मैंने secure लिखा तो secure को इस चीज़ से मिलाएगा कि secure का hash पनाएगा पहले उसके बाद इससे मिलाएगा ठीक ह�
4:48
तो ये चीज जो है आप लोगों को बहुत ध्यान में रखना है ठीक ह�
4:52
तो यहाँ पर देखो password verify इस तरह से मैं कर सकता हू�
4:57
अब मैं यहाँ पर करूँगा क्या कि मैं आ जाओंगा यहाँ प�
5:01
और मैं आपर करूँगा क्या कि पहले मैं कह रहा था कि अगर मेरा username
5:08
sorry username आता है database के अंदर और password मेरा match करता है username के corresponding database रखा हुआ है password व�
5:17
तो पहले मैं क्या करता था मैं कहता था कि बाई देखो ऐसा है कि अगर मेरा username database के अंदर ह�
5:24
और password जो उस username के बगल में रखा हुआ है वो match होता ह�
5:30
input password से तब मैं कहुँगा कि भाई ठीक है तब credentials आपने साइड डाले�
5:36
और आपको welcome.php में डाल दिया जाए तो login को मैं true
5:40
तब करता था जब मेरा password match होता था तो देखो मैं पहले क्या कर रहा थ�
5:45
तो मैं कह रहा था सेलेक्ट स्टार फ्रॉम यूजर्स वेर्ड यूजरनेम इसी को यह एंड पासवर्ड इस एकॉल टो यह ठीक है लेकिन इस पर मैं यह नहीं करूंग�
5:53
मैं कहूँगा select star from users where username is equal to this
5:57
ठीक है और and password is equal to मैं हटा दूँगा यहाँ से तो मैं इसक�
6:01
comment out करूँगा और मैं कहूँगा की बाई देखो ऐसा है क�
6:05
सिर्फ मुझे username से मतलब है मुझे यह वाला record दे दो उसके बा�
6:11
क्या होगा उसके बाद मैं कहूँगा कि बाई देखो result मेरा ये आ गय�
6:16
अब मैं कहूँगा कि number of rows जो है वो equal to 1 है और उसी के साथ साथ क्या होन�
6:22
चाहिए कि जो password है वो match होना चाहिए और password का ज�
6:27
hash match rows values while dollar row is equal to mysql fetch assoc extension install
6:48
लिए पीएसपी के लिए मैं नहीं कर रहा हूं माय सीक्वेज एससोसी और यह राम माई सीक्वेज फैच एससोसी ए�
6:58
कैरेक्टर अगर इसमें कुछ गर्बर कर दिया ना आपने तो प्रॉब्लम हो जाती है ठीक है तो मैं इसी को खोल लेत�
7:03
और यहाँ पर देखता हूँ कि क्या ये expect करता है और मैं php manual से ही देखना पसंद करता हू�
7:11
but for some reason php manual उपर नहीं आती है ठीक है तो mysqli underscore fetch इससे उसकरना ह�
7:19
और इसको आपको क्या देना है mysql का result दे देना ह�
7:23
तो यहाँ पर i लगा लेते हैं और यहाँ पर इसको dollar result देते हैं ठीक है और यहाँ पर मैं क्या करूँगा मैं लिखूँगा इसके अंदर कि बाई देखो ऐसा है अगर dollar row password if password verify पहला argument क्या रहता है पहला argument रहता है password जो कि password डालाई user ने और दूसरा argument क्या रहेगा जो password database में ह�
7:53
अगर देखो भाई ऐसा होता है तब तो मैं कह रहा हूँ कि लॉग इन को ट्रू कर दो वरना लॉग इन जो जाएगा वो फॉल्स तो था यूबर ठीक है तो वरना मना कर देगा य�
8:05
तो अगर login true है मेरा तब मैं session start करूँगा ये सारा काम करूँगा वरना मैं इस सारे काम नहीं करूँगा तो मैं इसको login true के नीचे डाल देता हूँ और यहाँ पर मैं इसको tap दबागे तो फॉर्मेडिंग कर देता हूँ इसकी अच्छे से और अभी जरा देखते हैं कि कुछ �
8:35
लॉगिन हो चुका हूं सिक्योर के नाम से में लॉगिन हो चुका हूं एक बाद जरह गलत पासवर्ड डाल कर देखता हू�
8:40
कि ऐसा नहीं गलत पर भी लॉगिन कर रहा है नहीं गलत लॉगिन नहीं कर रहा है तो मैंने आपको सिक्योर लिखा secure
8:50
और उसके बाद मैं गलत डाल लो password और ये अभी मुझे login नहीं कर रहा है ठीक ह�
8:56
लेकिन उसी के साथ साथ यहाँ पर मुझे वो देखने को नहीं मिल रहा है जो पहले मुझे देखने क�
9:00
मिल रहा था उसका क्या reason हो सकता है मैंने यहाँ पर login
9:04
is equal to true किया और यहाँ पर मैं कह रहा था कि अगर number of rows equals to 1 है तब तो यह कर द�
9:11
और उसी के साथ साथ वरना क्या करो वरना invalid credentials कर दो ठीक ह�
9:16
लेकिन मैं चाहता हूँ कि जो show error है वो मेरे invalid credentials इस case में भी ह�
9:21
इस case में भी मेरे invalid credentials हो अगर password match नहीं कर रहा है ठीक ह�
9:26
तो मैं यहाँ भी लाल दूँगा invalid credentials और इस बार यहाँ पर अ�
9:31
गलत password डाल के देखता हूँ और यहाँ पर अब मुझे invalid credentials दे रहा ह�
9:34
तो secure का गलत password डाला तब भी invalid credentials दे रहा ह�
9:38
कुछ ऐसी चीज़ डाली जो कि है ही नहीं तब भी invalid credentials दे रहा ह�
9:42
secure one डाला security accounts hatch
10:14
इन फाक्ट empty करूँगा table को, truncate करूँगा, delete नहीं करूँगा, और यह करने से क्या होगा कि मैं आप नए accounts बनाऊँगा इसमें, और नए accounts में क्या होगा कि नए accounts में सारी की सारी security होगी
10:28
तो अगर मैं यहाँ पर Harry के नाम से एक नए अकाउंट बना�
10:32
और password 12 रख दूँ sign up किया तो देखो यहाँ प�
10:37
password मैंने 12 रखा लेकिन आपको पता नहीं चलेगा password 12 है इसको देखक�
10:42
मालो password 12 है तो मुझे पता है लेकिन मालो कोई hacker आता ह�
10:48
और वो कोशिश करता है इससे लॉग इन करने की तो मैं आप लोगों यह भी दिखा देता हूँ कि हैश से लॉग इन नहीं होत�
10:54
मैंने हैश पेस्ट किया और यह देखो हैश का हैश होके कुछ और जाएगा और पासवर्ड वेरिफाई फेल हो जाएग�
10:59
इसलिए आप लोग hatch से login नहीं कर सकते हैं ठीक है लेकिन अगर मैं यहाँ पर one two करू�
11:05
login करूँ तो यह login हो जाएगा और मैं update कर लेता हूँ password ठीक ह�
11:11
similarly log out पर कर देता हूँ और मेरा login system यहाँ पर ready ह�
11:15
एक और account के लिए sign up कर देता हूँ उसका नाम में रखूँगा रोहन पासवर्ड भी रोह�
11:20
और यहाँ पर देखो अकाउंट बन चुका है रोहन का और यहाँ पर मैंने क्या किया ह�
11:24
जो पासवर्ड है मेरा वो इस बार अलग है देखो यहाँ प�
11:30
यह जो string है और उपर वाली string है वो अलग है लेकिन इन strings को देखकर यह कोई पता नहीं लगा सकता कि यह जो strings है वो indicate कर रही हैं आपका यह password जो कि मैंने यहाँ पर use किया रोहन या फिर हैरी के लिए 1 या 1 2 use किया जो भी password है वो इनको देखकर कोई पता नहीं लगा सकत�
11:48
So guys I hope कि ये चीज़ क्लेयर हो गई होगी आप लोगों को समझ में आगे होगा जो कि मैंने बताया है आप लोगों को और उसी के साथ साथ अगर आप लोगों ने गैस ये प्लेलिस्ट एकसेस नहीं करी है पी एस पी टूटोरियल्स की तो उसको जरूर एकसेस कर लेना क्योंकि �
12:18
देखकर बहुत ही आराम से सीख सकते हैं PHP और back-end programming, I hope कि ये videos आपको मज़ेदार लग रहे हैं और ये जो concepts हैं जो कि मैं आपको बता रहा हूँ वो भी समझ में आप लोगों को आ रहे हैं, अभी के लिए इस वीडियो में इतना ही guys, इस वीडियो को like करना बिलकुल मत बूलना �