बाईपास करने के लिए curl में चोरी हुई कुकी का उपयोग करके मुझे एक वेब पेज को संसाधित करना होगा। यह वेब पेज YII framework
पर आधारित है, और लॉगिन पेज CSRF tokens
द्वारा संरक्षित है। जब मैं POST method
द्वारा लॉगिन प्रमाण-पत्र पास करता हूं। मुझे error 400
और The CSRF token could not be verified
संदेश मिलता है।सीएसआरएफ
मुझे नहीं पता कि इस सुरक्षा को कैसे पारित किया जाए। मैं तंत्र को समझ नहीं पा रहा हूं। जब मैं क्रोम ब्राउज़र द्वारा लॉगिन करता हूं, तो मुझे लगता है कि POST संदेश कैसा दिखता है। इसमें 4 पैरामीटर हैं: सीएसआरएफ कुंजी, लॉगिन, पासवर्ड, एक खाली चर। ब्राउज़र को सीएसआरएफ कुंजी को वापस sanded करने के लिए कैसे मिलता है?
मेरे पास इस वेब पेज के लिए लॉगिन और पासवर्ड है, और मैं सामान्य उपयोगकर्ता के रूप में लॉगिन कर सकता हूं। सीएसआरएफ के खिलाफ केवल लॉगिन पेज सुरक्षित है। क्या मैं सामान्य लॉगिन पर ब्राउज़र द्वारा बनाई गई कुकी (इसे कैसे करें) का उपयोग कर सकता हूं, यह cookie to cURL
दें और लॉगिन पृष्ठ के पीछे URLs
को प्रोसेस करना प्रारंभ करें?
सीएसआरएफ कुंजी में टाइमआउट सीमा है, इसलिए यदि आप अंतिम लॉगिन से सीएसआरएफ कुंजी का उपयोग करते हैं (कहें कि यह दो दिन पहले था) लॉगिन पेज को फेंकना चाहिए – kirugan
जब भी मैं क्रोम में पुनः लॉगिन करता हूं तो सीएसआरएफ कुंजी अलग होती है। इस प्रकार मुझे लगता है कि सीएसआरएफ कुंजी केवल एक प्रयोग है। – MrMgr
हल किया गया: सीएसआरएफ कुंजी सत्र के लिए जेनरेट की गई है और यह लॉग इन पेज के अंदर सादे पाठ के रूप में है। मैं इसे लॉगिन पेज के स्रोत कोड से कॉपी कर सकता हूं, और POST चर के रूप में अतीत होने के लिए curl स्क्रिप्ट प्रदान करता हूं। प्रत्येक पृष्ठ रीफ्रेश के बाद सीएसआरएफ कुंजी नहीं बदली जाती है, लॉगआउट तक कुंजी कुंजी मान्य होती है। लॉगआउट पर सीएसआरएफ कुंजी को समाप्त करने के लिए सर्वर पर रेत लगाया जाता है। – MrMgr