2012-06-13 3 views
7

अब तक मुझे पता है, & परिभाषितएचटीएमएल दस्तावेज़ के अंदर जेएस को आमंत्रित करने के कितने अलग तरीके हैं?

1.inline जे एस

<script type='text/javascript'> ... </script> 

2.External जे एस

<script src="someURL"></script> 

3.Event हाथ के बल्लेबाज जे एस वेबपेज में जावास्क्रिप्ट आह्वान करने के लिए 4 अलग अलग तरीकों से:

<input type="button" onclick="...javascript..."   

4. जावास्क्रिप्ट: यूआरएल

<a href="javascript: ...JS CODE...">js</a> 

क्या किसी अन्य तरीके से जेएस को वेबपृष्ठ में डाला जा सकता है? क्या यह किसी मानक विनिर्देश में परिभाषित किया गया है (कितने तरीकों)?

क्या 4 अलग-अलग तरीकों से जावास्क्रिप्ट के निष्पादन संदर्भ में कोई अंतर है?

+0

क्या आप प्लेटफ़ॉर्म/ढांचे को विशिष्ट तरीकों से जानना चाहते हैं? – SomeKittens

+1

आप इसे पूरा करने की कोशिश कर रहे हैं जो इन 4 तरीकों में से किसी एक द्वारा नियंत्रित नहीं है? –

+1

@ बाबाकनाफस यह प्रश्न उपयोगकर्ता द्वारा सबमिट किए गए HTML से जेएस को बाहर निकालने का प्रयास करने के लिए अच्छा होगा। –

उत्तर

1

1 और 2 मूल रूप से वही हैं, बस 2 बाहरी फाइल है और 1 में सामग्री है।

3 और 4 समानांतर रेखाओं के साथ eval पर हैं। 3 घटना को चालू करने के लिए this परिभाषित करता है।

यह इसके बारे में है। यदि जेएस को शामिल करने के अन्य तरीके हैं, तो मैंने कभी उनके बारे में नहीं सुना है।

+0

'' iha6 में http://ha.ckers.org/xss.html – Esailija

+0

के अनुसार काम करना चाहिए यदि आप फ़ंक्शन को कॉल करते हैं तो यह विंडो विंडो है। यह कहना बेहद जरूरी है! – gdoron

6

वास्तव में HTML में जावास्क्रिप्ट निष्पादित करने के कई तरीके हैं, जो ब्राउज़र और प्लेटफॉर्म पर भिन्न होते हैं।

उनमें से बहुत से (लेकिन सभी नहीं) इस infamous XSS cheatsheet में सूचीबद्ध हैं।

कम अस्पष्ट लोगों के बीच, ये हैं:

<img src="javascript:..."> 
<body background="javascript:..."> 
<style>BODY{-moz-binding:url("...")}</style> 
<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:..."> 

... और इतने पर।

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