अगर मुझे ऐसा करना पड़ा, तो मैं लॉगिन निर्धारित करने के लिए अपनी खुद की कुकी का उपयोग करूंगा और आवश्यक होने पर जांच के लिए केवल वर्डप्रेस लोड करूंगा।
Wordpress_logged_in_ {some-hash} कुकी का उपयोग उपयोगकर्ता को निर्धारित करने के लिए किया जा सकता है, और वर्डप्रेस इसे निर्धारित करने के लिए उपयोग करता है। आप इसे आसानी से लागू नहीं कर सकते, लेकिन आप इसे कई अनुरोधों पर वर्डप्रेस लोड किए बिना उपयोग कर सकते हैं।
उदाहरण के लिए, यहाँ मेरा कुकी हैश (पूरी तरह से डेटा बनाया गया है, लेकिन यथार्थवादी):
key: wordpress_logged_in_1234567890abcdef1234567890abcdef
value: admin|1234567890|abcdef1234567890abcdef1234567890
जिस तरह से वर्डप्रेस जानता है कि कुकी कैसे मान्य है अप्रासंगिक है, आपको बस यह जानना होगा कि क्या यह एक बार मान्य है, तो आप इसे एक रहस्य के साथ हस्ताक्षर करते हैं।
इसलिए, पहली बार, उपयोगकर्ता अभी तक साबित नहीं हुआ है। आप wp-load.php को लोड करते हैं और WP कुकी को सत्यापित करता है और उपयोगकर्ता को लॉग इन करता है। अब आप जो कुछ भी करते हैं वह यह साबित करने के लिए होता है कि उपयोगकर्ता लॉग इन कर चुका है, फिर आप अपना कुकी सेट करें। कुंजी आपके लिए कुछ भी कस्टम हो सकती है, जिस मूल्य को आप हैश_हमैक फ़ंक्शन का उपयोग करते हुए एक गुप्त कुंजी के साथ संदेश में पचाते हैं।
$key = ... // the key from the WP cookie
$value = ... // the value from the WP cookie
$hash = hash_hmac ( 'md5' , $key.$value , 'some secret key' );
आपको वापस अस्पष्ट मिलेगा, जिसे आप सेटकुकी () का उपयोग करके उन्हें वापस भेजते हैं। भविष्य के अनुरोध पर, वे इस कुकी को आपके पास वापस भेज देंगे। आप पहले जांच सकते हैं और उसी हैश फ़ंक्शन और गुप्त कुंजी का उपयोग करके इसे सत्यापित कर सकते हैं।
केवल आप हैश उत्पन्न कर सकते हैं क्योंकि केवल आप गुप्त कुंजी को जानते हैं। इसलिए यदि वे एक वैध हैश को वापस भेजते हैं, जो उनके WP कुकी के लिए भेजे गए मेल से भी मेल खाता है, तो आप जानते हैं कि वे आपके कोड से पहले, WP के साथ मान्य हो चुके हैं, और आप उस मान से उपयोगकर्ता नाम प्राप्त कर सकते हैं (यह पहला है कुकी का हिस्सा, जाहिर है)। तब आपको WP लोड नहीं करना पड़ेगा।
गुप्त कुंजी, BTW, लंबी और यादृच्छिक होनी चाहिए । छोटा पासवर्ड नहीं। शब्दकोश शब्द नहीं। बस बड़ी बकवास है। लाइन शोर, और यह बहुत सारे। उदाहरण कुंजी:
'GHY5hFNqq4Ntdu=3:SUp8#/+_W!- @@^@xslN*L|N+Vn;(1xo8jNyp,au$v9Ki5*'