मुझे PHP कर्ल और कुकीज़ प्रमाणीकरण के साथ कुछ समस्या है।PHP कर्ल और कुकीज़
मेरे पास एक फ़ाइल कनेक्टर.php है जो उपयोगकर्ताओं को किसी अन्य सर्वर पर प्रमाणित करती है और वर्तमान उपयोगकर्ता के साथ कुकी लौटाती है।
समस्या यह है कि मैं कर्ल के साथ हजारों उपयोगकर्ताओं को प्रमाणित करना चाहता हूं लेकिन यह एक समय में केवल एक उपयोगकर्ता के लिए कुकीज को प्रमाणित करता है और बचाता है।
- उपयोगकर्ता उपयोगकर्ता नाम और पासवर्ड में प्रवेश करती है:
<?php if(!count($_REQUEST)) { die("No Access!"); } //Core Url For Services define ('ServiceCore', 'http://example.com/core/'); //Which Internal Service Should Be Called $path = $_GET['service']; //Service To Be Queried $url = ServiceCore.$path; //Open the Curl session $session = curl_init($url); // If it's a GET, put the GET data in the body if ($_GET['service']) { //Iterate Over GET Vars $postvars = ''; foreach($_GET as $key=>$val) { if($key!='service') { $postvars.="$key=$val&"; } } curl_setopt ($session, CURLOPT_POST, true); curl_setopt ($session, CURLOPT_POSTFIELDS, $postvars); } //Create And Save Cookies $tmpfname = dirname(__FILE__).'/cookie.txt'; curl_setopt($session, CURLOPT_COOKIEJAR, $tmpfname); curl_setopt($session, CURLOPT_COOKIEFILE, $tmpfname); curl_setopt($session, CURLOPT_HEADER, false); curl_setopt($session, CURLOPT_RETURNTRANSFER, true); curl_setopt($session, CURLOPT_FOLLOWLOCATION, true); // EXECUTE $json = curl_exec($session); echo $json; curl_close($session); ?>
यहाँ प्रमाणीकरण की प्रक्रिया है:
connector.php के लिए कोड है? Connector.php सेवा = लॉगऑन & user_name = उपयोगकर्ता 32 & user_pass = 123
- कनेक्टर.एफ़.पी. सेवा = logosessionInfo यह लॉगऑन सेवा के साथ पहले सहेजी गई कुकीज़ के आधार पर उपयोगकर्ता के बारे में जानकारी देता है।
समस्या यह है कि यह कोड एक उपयोगकर्ता के लिए कुकी में एक फ़ाइल में सहेजता है और एकाधिक उपयोगकर्ता प्रमाणीकरण को संभाल नहीं सकता है।
मैं अद्वितीय PHPSESSID साथ विभिन्न उपयोगकर्ताओं के लिए अलग कुकी फ़ाइलों के निर्माण के साथ मेरी समस्या हल। '$ tmpfname = dirname (__ फ़ाइल __)। '/'। $ _ कुकी ['PHPSESSID']। 'txt';' – Shark
क्या यह एक अच्छा विचार है यदि कई उपयोगकर्ता हैं? – trainoasis
नहीं यदि आपके पास कई उपयोगकर्ता हैं तो यह बुरा है। यह अपाचे सर्वर दुर्घटना का कारण बनता है। मैं इस समस्या को अपाचे प्रॉक्सी के साथ ठीक करता हूं। और मेरे सभी कर्ल कोड हटा दिया। – Shark