2011-12-10 15 views
5

मुझे यकीन है कि इस सवाल से पहले पूछा गया है, लेकिन मुझे ऐसा धागा नहीं मिल रहा है जो इसे इस तरह से समझाता है जो मुझे समझ में आता है।AJAX कॉल "सुरक्षित" कैसे करें?

मैं जावास्क्रिप्ट में लिखी एक बुकमार्कलेट/ब्राउज़र प्लगइन बना रहा हूं। यह स्क्रिप्ट एक एपीआई को कॉल करती है, जो प्रभावी रूप से एक साइट से दूसरी साइट पर उपयोगकर्ता गतिविधि की जानकारी भेजती है। (सोचें, जब कोई उपयोगकर्ता फेसबुक स्थिति पोस्ट करता है तो ट्वीट करें)

यह साइट साइट पर जावास्क्रिप्ट को सीधे लोड करती है। मैं जिस एपीआई का उपयोग कर रहा हूं उसे एक एपीआई गुप्त कोड का उपयोग करके एक एमडी 5 हैश उत्पन्न करने की आवश्यकता है। यह कोई समस्या नहीं है, मैं एक PHP स्क्रिप्ट पर AJAX कॉल कर रहा हूं जिसे मैं कहीं और होस्ट कर रहा हूं, जो सही स्ट्रिंग देता है।

समस्या यह नहीं है कि मैं नहीं चाहता कि उपयोगकर्ता एपीआई का दुरुपयोग करने के लिए गुप्त रहस्य के साथ अपने स्वयं के तार उत्पन्न करने के लिए एक ही स्क्रिप्ट पर कॉल करने में सक्षम हो। क्या उनका एक तरीका है जब मैं उन्हें बनाना चाहता हूं तो मैं केवल इस एपीआई को कॉल कर सकता हूं?

या शायद मैं गलत दिशा से यह आ रहा हूं।

उत्तर

0

1) आपको अपने डीबी पर GUID की तरह एक टोकन खोलना चाहिए।

यह मार्गदर्शिका कुछ जानकारी का प्रतिनिधित्व करेगी और इसे केवल एक बार निष्पादित किया जा सकता है ("isAlreadyuse" -type bit नामक तालिका में एक डीबी फ़ील्ड डालें)।

अब

,

जब ajax ही कहेंगे - आप सर्वर को यह GUID भेजें।

सर्वर यदि GUID

मौजूद है और अपने तर्क का उत्सर्जन करता है देख सकते हैं और अद्यतन thefield लिए "1" होगा।

3

आप यह निर्देश नहीं दे सकते कि क्लाइंट आपके जावास्क्रिप्ट को कैसे निष्पादित करता है। "सुरक्षित" अनुरोध बनाने का कोई तरीका नहीं है, या बीमा करें कि इसे किसी हमलावर द्वारा संशोधित नहीं किया गया था। यह क्लाइंट/सर्वर सिस्टम की प्रकृति है। पेज स्वयं को GreaseMonkey का उपयोग करके संशोधित किया जा सकता है और किसी भी अनुरोध को TamperData का उपयोग करके संशोधित या दोहराया जा सकता है।

+0

रीप्ले हमलों के खिलाफ सुरक्षा की जा सकती है ... लेकिन ऐसा लगता है कि यह एक रीप्ले है और एक [प्रारंभ में] अनुमत ऑपरेशन नहीं है। –

+1

@pst यदि आप इसे जावास्क्रिप्ट में कर सकते हैं, तो हमलावर जावास्क्रिप्ट में भी ऐसा कर सकता है। – rook

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