यह सुरक्षित रूप से सुनिश्चित करने के लिए एक अधिकृत उपयोगकर्ता के पास मान्य अनुरोध धोखा नहीं कर सकते असंभव है।
सब के बाद, यदि ब्राउज़र "वैध अनुरोध" बना सकता है, तो एक अधिकृत उपयोगकर्ता कर सकता है!
हालांकि, यह एक असामान्य आवश्यकता है, और मुझे यह जानने में दिलचस्पी है कि इसके पीछे प्रेरणा क्या है?
हालांकि, अनुरोध को खराब करने के लिए कठिन बनाने के कई तरीके हैं।
चूंकि कोई भी विधि पूरी तरह से सुरक्षित नहीं होगी, इसलिए आप obfuscate पर कोशिश कर सकते हैं और इसे कठिन किसी के लिए अपने अनुरोधों को खराब करने के लिए कर सकते हैं।
जैसा कि अन्य ने सुझाव दिया है, आप प्रति सत्र एक यादृच्छिक "टोकन" बना सकते हैं और इसे URL में (या तो पथ या क्वेरीस्ट्रिंग के रूप में) की आवश्यकता होती है।
इसके लिए जावास्क्रिप्ट का उपयोग करना बेहतर होगा। इस "टोकन" के साथ एक छिपी हुई इनपुट प्रस्तुत करें। फिर, प्रत्येक लिंक के click
ईवेंट को अवरुद्ध करें, URL पर "टोकन" मान संलग्न करें, फिर URL पर नेविगेट करें।
आप इसका उपयोग करने से पहले अपने टोकन को किसी भी तरह से "प्रक्रिया" करने के लिए जावास्क्रिप्ट को बढ़ा सकते हैं, और अपनी जावास्क्रिप्ट को इसे खराब करने के लिए कम कर सकते हैं ... यह निश्चित रूप से उपर्युक्त उपयोगकर्ताओं को आपके यूआरएल के साथ टंकण करने से रोक देगा।
बहुत से संभावित समाधान हैं, लेकिन "दाएं" समाधान वास्तव में इस बात पर निर्भर करता है कि आप किस विशिष्ट व्यवहार को रोकने की कोशिश कर रहे हैं।
स्रोत
2011-12-01 08:55:42
कैसे "सुरक्षित" के लिए? क्या आप सिर्फ उपयोगकर्ताओं को बुकमार्क करने और/या यूआरएल टाइप करने में सक्षम होने से रोकना चाहते हैं? या क्या आप वास्तव में उन लोगों के खिलाफ सुरक्षित बनाना चाहते हैं जो वास्तव में जावास्क्रिप्ट और कुकीज़ को धोखा देने के बारे में जानते हैं? –
मैं इसे यथासंभव सुरक्षित बनाना चाहता हूं, यही कारण है कि urlreferrer वास्तव में उपयुक्त नहीं है क्योंकि इसे आसानी से खराब किया जा सकता है – Duy
क्या यह सीएसआरएफ को रोकने के लिए है? या क्या आपको वास्तव में "अधिकृत" उपयोगकर्ताओं को वैध अनुरोधों को धोखा देने से रोकने की आवश्यकता है? –