2011-10-13 5 views
5

में सुरक्षित रूप से हाइपरलिंक्स को प्रस्तुत करना प्रोजेक्ट के हिस्से के रूप में, मैं किसी उपयोगकर्ता से वेब फ़ॉर्म के माध्यम से टेक्स्ट स्वीकार कर रहा हूं और इसे वेब पेज पर प्रदर्शित कर रहा हूं। उनके द्वारा प्रदान किए गए पाठ में यूआरएल हो सकते हैं, यदि ऐसा है तो मैं बेहतर अनुभव के लिए इसे हाइपरलिंक के रूप में प्रस्तुत करना चाहता हूं। उदाहरण के लिए उपयोगकर्ता http://www.google.com युक्त टेक्स्ट सबमिट कर सकता है और मैं इसे <a href="http://www.google.com">...अविश्वसनीय पाठ

में परिवर्तित करना चाहता हूं, मुझे आश्चर्य है कि ऐसा करने के दौरान मुझे किन सुरक्षा समस्याओं को अवगत होना चाहिए। मैंने पहले से ही किसी भी साधारण एक्सएसएस सम्मिलन से बचने के लिए उपाय किए हैं, क्योंकि मेरी एक्सएमएल लाइब्रेरी किसी भी विशेष पात्र से बच जाएगी, लेकिन मुझे लगता है कि अधिक परिष्कृत हमले हैं।

+0

आपकी सबसे बड़ी समस्याओं में से एक [यह हो सकता है।] (Http://www.youtube.com/watch?v=oHg5SJYRHA0) संपादित करें: डांग, बस महसूस करें कि आप href को obfuscate नहीं करने जा रहे हैं। इसे अनदेखा करें;) – vzwick

उत्तर

1

जावास्क्रिप्ट को अनदेखा करने के अलावा: आपको शायद http: प्रोटोकॉल के लिए केवल हाइपरलिंक्स बनाना चाहिए, क्योंकि कुछ ऐसे अनुप्रयोग हैं जिन्हें अन्य प्रोटोकॉल के माध्यम से लॉन्च या नियंत्रित किया जा सकता है। स्टीम, स्काइप, और एओएल मैसेंजर दिमाग में आते हैं।

+1

डेटा: टेक्स्ट/एचटीएमएल; बेस 64, PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4 = –

0

आप केवल a तत्वों, समस्या सिर्फ arrise चाहिए कि अगर वे एक दुर्भावनापूर्ण URL दर्ज (यह छोटा किया जा सकता है) के साथ यूआरएल आसपास रहे हैं और आप उस पर क्लिक खत्म करते हैं, तो प्रदान की हमले के अन्य सभी साधन अपने सॉफ़्टवेयर में सुरक्षित हैं (उदाहरण के लिए मनमाने ढंग से जावास्क्रिप्ट निष्पादित नहीं कर सकते हैं, आदि)।

सुनिश्चित करें कि आप javascript: छद्म प्रोटोकॉल पर विचार नहीं करते हैं जब आप URL से मेल खाते हैं। उसमें से कुछ भी अच्छा नहीं हो सकता है।