का दौरा पड़ने से इस तरह संभव है पर विश्वास है, लेकिन इस के खिलाफ रोकने के लिए गलत तरीका है। यदि कोई हैकर फॉर्म के विवरण को बदल सकता है, तो वे फ़ॉर्म को सबमिट किए बिना AJAX GET
के माध्यम से आसानी से गुप्त डेटा भेज सकते हैं। एक्सएसएस हमले को रोकने का सही तरीका यह सुनिश्चित करना है कि पृष्ठ पर सभी अविश्वसनीय सामग्री को एन्कोड करना सुनिश्चित करें कि हैकर में अपनी खुद की जावास्क्रिप्ट को पहले स्थान पर निष्पादित करने की क्षमता नहीं है।
अधिक एन्कोडिंग पर ...
StackOverflow पर नमूना कोड एन्कोडिंग का एक बड़ा उदाहरण है। कल्पना करें कि यह कितना गड़बड़ होगा अगर हर बार जब कोई व्यक्ति जावास्क्रिप्ट कुछ उदाहरण पोस्ट करता है, तो वास्तव में ब्राउज़र में इसे निष्पादित किया जाता है। जैसे,
<script type="text/javascript">alert('foo');</script>
यह नहीं थे तथ्य यह है कि इतना ऊपर टुकड़ा इनकोडिंग के लिए, तो आप सिर्फ एक बॉक्स को देखा होगा। यह निश्चित रूप से एक निर्दोष लिपि है - मैं कुछ जावास्क्रिप्ट को कोड कर सकता था जो आपकी सत्र कुकी को अपहृत कर देते थे और इसे bad.com/hacked- सत्र में भेजते थे। सौभाग्य से, हालांकि, एसओ यह नहीं मानता कि हर कोई अच्छी तरह से इरादा रखता है, और वास्तव में सामग्री को एन्कोड करता है। आप स्रोत देखते करना हो तो उदाहरण के लिए, आपको लगता है कि इतना इनकोडिंग है मेरी पूरी तरह से वैध HTML और इस में जावास्क्रिप्ट देखना होगा:
<script type="text/javascript">alert('foo');</script>
तो, बजाय वास्तविक <
और >
पात्रों जहाँ मैं उन्हें इस्तेमाल किया embedding से, उन्हें उनके एचटीएमएल-एन्कोडेड समकक्षों (<
और >
) के साथ प्रतिस्थापित किया गया है, जिसका अर्थ है कि मेरा कोड अब स्क्रिप्ट टैग का प्रतिनिधित्व नहीं करता है।
वैसे भी, यह एन्कोडिंग के पीछे सामान्य विचार है। पर अधिक जानकारी के लिए आपको एन्कोडिंग होना चाहिए, जो कि आप सर्वर-साइड का उपयोग कर रहे हैं, इस पर निर्भर करता है, लेकिन अधिकांश वेब फ्रेमवर्क में कुछ प्रकार के "आउट ऑफ़ द बॉक्स" एचटीएमएल एन्कोडिंग यूटिलिटी शामिल हैं। आपकी ज़िम्मेदारी यह सुनिश्चित करना है कि उपयोगकर्ता द्वारा प्रदत्त (या अन्यथा अविश्वसनीय) सामग्री ALWAYS प्रस्तुत करने से पहले एन्कोड किया गया हो।
दुर्भावनापूर्ण जावास्क्रिप्ट पहले स्थान पर कैसे होगा? क्या भुगतान फ़ॉर्म उपयोगकर्ता सबमिट की गई सामग्री को प्रदर्शित करने की अनुमति देता है (एक्सएसएस)? यह एक असामान्य भुगतान फॉर्म होगा। –