2011-08-21 49 views
6

क्या कोई तरीका है जिसके द्वारा मैं जान सकता हूं कि एक पोस्ट अनुरोध किस सर्वर से निकला है?POST अनुरोध उत्पत्ति

मैं जिसमें मैं की जांच कर सकता है कि एक विशेष अनुरोध मेरी वेबसाइट से उत्पन्न किया है, और इसलिए यह मुझे अपनी वेबसाइट को सुरक्षित रखने के

धन्यवाद

+0

क्या आप रेफरर की तलाश में हैं? वह पृष्ठ जहां से उपयोगकर्ता आया था? –

+0

क्या आपका वास्तव में "मेरी वेबसाइट से उत्पन्न" का मतलब था, या क्या आपका मतलब है "मेरी वेबसाइट से ब्राउज़र पर भेजे गए पृष्ठ पर एक फॉर्म से उत्पन्न"? वे बहुत अलग चीजें हैं। –

+2

रेफरर हेडर पर भरोसा न करें। इसे भरोसा नहीं किया जा सकता है और अक्सर आंतरिक प्रणालियों के बारे में जानकारी लीक करने के लिए फायरवॉल में फंस जाता है। – Erlend

उत्तर

8

ऐसा लगता है कि आप, क्रॉस साइट रिक्वेस्ट फोर्जरी सुरक्षा लागू करने के लिए कोशिश कर रहे हैं, जिसमें आपको यह सुनिश्चित करना होगा कि आपके वेब सर्वर से दिए गए HTML से अनुरोध का अनुरोध किया गया हो। इसके लिए रेफरर हेडर पर भरोसा न करें क्योंकि इसे अक्सर फ़ायरवॉल में छीन लिया जाता है, और इसका उपयोग किया जा सकता है।

इस तरह की सुरक्षा को कार्यान्वित करने के तरीके पर कुछ अच्छे स्रोतों के लिए ओडब्ल्यूएएसपी देखें। मूल रूप से यह इस प्रकार है:

  1. एक सुरक्षित यादृच्छिक मूल्य उत्पन्न और उपयोगकर्ता के सत्र

  2. हर HTML प्रपत्र के लिए पर यह छड़ी, एक छिपा मूल्य()

  3. जब भी रूप में इस मूल्य में शामिल एक POST अनुरोध आपके सर्वर पर वापस आता है, जांचें कि छिपे हुए फ़ील्ड का मान, उपयोगकर्ता के सत्र में से एक जैसा है। यदि अनुरोध नहीं है तो अनुरोध को अस्वीकार करें।

क्योंकि alue प्रति उपयोगकर्ता अद्वितीय है, एक हमलावर बस पॉप्यूलेट मूल्यों के साथ एक रूप बना नहीं कर सकता है, और स्वचालित रूप से जावास्क्रिप्ट के साथ पोस्ट करने में उपयोगकर्ता चाल। अनुरोध खारिज कर दिया जाएगा क्योंकि हमलावर नहीं जानता कि छिपे हुए क्षेत्र के लिए अपने नकली रूप में किस मूल्य को शामिल करना है।

+0

"जब भी कोई पोस्ट अनुरोध आपके सर्वर पर वापस आता है, तो जांचें कि छिपे हुए फ़ील्ड का मान उपयोगकर्ता के सत्र में एक जैसा है।" --- ठीक है, आपने मुझे कम किया और वर्णन नहीं किया कि क्यों और कैसे जांचें ** अनुरोध की उत्पत्ति **। अंतर्दृष्टि के लिए – zerkms

+0

धन्यवाद! : डी – Anant

+0

zerkms: तो तुमने मुझे नीचे गिरा दिया क्योंकि मैंने तुम्हें नीचे गिरा दिया? मैंने सवाल से परे देखने की कोशिश की। "मैं एक विधि को लागू करने की कोशिश कर रहा हूं जिसमें मैं जांच कर सकता हूं कि एक विशिष्ट अनुरोध मेरी वेबसाइट से निकला है, और इसलिए यह मेरी वेबसाइट को सुरक्षित रखने में मेरी मदद करेगा" वह _his वेबसाइट_ पर जांच करना चाहता है, भले ही यह अनुरोध _his वेबसाइट_ से निकला है – Erlend

संबंधित मुद्दे