JSONP

From binaryoption
Jump to navigation Jump to search
Баннер1

JSONP

JSONP (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन विद पैडिंग) एक तकनीक है जो वेब पेजों को अलग डोमेन से डेटा प्राप्त करने की अनुमति देती है। यह क्रॉस-डोमेन अनुरोधों को सक्षम करने का एक सरल तरीका है, जो क्रॉस-ऑरिजिन रिसोर्स शेयरिंग (CORS) से पहले व्यापक रूप से उपयोग किया जाता था। हालांकि CORS अब अधिक सुरक्षित और पसंदीदा विकल्प है, JSONP अभी भी कुछ परिदृश्यों में उपयोगी है, खासकर पुराने ब्राउज़रों के साथ संगतता के लिए। बाइनरी ऑप्शन ट्रेडिंग प्लेटफॉर्म में, JSONP का उपयोग कभी-कभी लाइव डेटा फीड प्राप्त करने के लिए किया जा सकता है, हालांकि आजकल वेबसॉकेट और CORS अधिक सामान्य हैं।

JSONP कैसे काम करता है

JSONP का मूल विचार एक `<script>` टैग का उपयोग करके एक क्रॉस-डोमेन अनुरोध करना है। जब ब्राउज़र एक `<script>` टैग का सामना करता है, तो यह स्रोत URL से जावास्क्रिप्ट कोड डाउनलोड और निष्पादित करता है। JSONP इस व्यवहार का लाभ उठाता है।

1. क्लाइंट (आपका वेब पेज) एक `<script>` टैग बनाता है। 2. `<script>` टैग का `src` एट्रिब्यूट एक सर्वर-साइड URL को इंगित करता है। इस URL में एक "कॉलबैक" फ़ंक्शन का नाम शामिल होता है। 3. सर्वर (अलग डोमेन पर) एक जावास्क्रिप्ट कोड लौटाता है जो एक फ़ंक्शन कॉल के रूप में स्वरूपित होता है। इस फ़ंक्शन कॉल में JSON डेटा शामिल होता है। 4. ब्राउज़र द्वारा जावास्क्रिप्ट कोड डाउनलोड और निष्पादित किया जाता है। 5. फ़ंक्शन कॉल निष्पादित होता है, और JSON डेटा क्लाइंट-साइड जावास्क्रिप्ट कोड को उपलब्ध हो जाता है।

उदाहरण के लिए, मान लीजिए कि आप `api.example.com` डोमेन से डेटा प्राप्त करना चाहते हैं। आप निम्नलिखित `<script>` टैग का उपयोग कर सकते हैं:

```html <script src="http://api.example.com/data?callback=myCallbackFunction"></script> ```

सर्वर, `api.example.com`, निम्नलिखित जावास्क्रिप्ट कोड लौटा सकता है:

```javascript myCallbackFunction({"name": "जॉन डो", "age": 30}); ```

क्लाइंट-साइड पर, आपको `myCallbackFunction` नामक एक फ़ंक्शन परिभाषित करना होगा जो JSON डेटा को संसाधित करता है।

सुरक्षा चिंताएं

JSONP में महत्वपूर्ण सुरक्षा चिंताएं हैं:

  • **क्रॉस-साइट स्क्रिप्टिंग (XSS):** चूंकि JSONP एक स्क्रिप्ट को बाहरी डोमेन से डाउनलोड और निष्पादित करता है, इसलिए यदि सर्वर समझौता किया जाता है, तो हमलावर दुर्भावनापूर्ण कोड इंजेक्ट कर सकता है जो आपके उपयोगकर्ताओं के ब्राउज़र में निष्पादित होगा।
  • **कॉलबैक फ़ंक्शन ओवरराइटिंग:** यदि आपके वेब पेज पर पहले से ही समान नाम का एक फ़ंक्शन परिभाषित है, तो सर्वर से आने वाला JSONP कोड इसे ओवरराइट कर सकता है, जिससे अप्रत्याशित व्यवहार हो सकता है।

इन सुरक्षा चिंताओं के कारण, JSONP का उपयोग केवल विश्वसनीय स्रोतों से डेटा प्राप्त करने के लिए किया जाना चाहिए। CORS, जहां समर्थित हो, JSONP का अधिक सुरक्षित विकल्प है।

JSONP का उपयोग कब करें

हालांकि JSONP में सुरक्षा चिंताएं हैं, फिर भी कुछ परिदृश्य हैं जहां इसका उपयोग उपयुक्त हो सकता है:

  • **पुराने ब्राउज़र समर्थन:** पुराने ब्राउज़र जो CORS का समर्थन नहीं करते हैं, उनके लिए JSONP एक विकल्प हो सकता है।
  • **सरल डेटा अनुरोध:** यदि आपको केवल सरल डेटा अनुरोध करने की आवश्यकता है और आपको सुरक्षा के बारे में विशेष रूप से चिंता नहीं है, तो JSONP एक सरल समाधान हो सकता है।
  • **सार्वजनिक API:** कुछ सार्वजनिक API अभी भी JSONP के माध्यम से डेटा प्रदान करते हैं।

JSONP के विकल्प

JSONP के लिए कई विकल्प उपलब्ध हैं, जिनमें शामिल हैं:

  • **CORS:** CORS एक अधिक सुरक्षित और पसंदीदा विकल्प है जो ब्राउज़र को अलग डोमेन से संसाधनों का अनुरोध करने की अनुमति देता है।
  • **वेबसॉकेट:** वेबसॉकेट एक द्वि-दिशात्मक संचार प्रोटोकॉल है जो रीयल-टाइम डेटा अपडेट के लिए उपयुक्त है। इसे विशेष रूप से बाइनरी ऑप्शन प्लेटफॉर्म पर लाइव डेटा फीड्स के लिए उपयोग किया जाता है।
  • **सर्वर-साइड प्रॉक्सी:** आप एक सर्वर-साइड प्रॉक्सी का उपयोग कर सकते हैं जो अलग डोमेन से डेटा प्राप्त करता है और इसे आपके वेब पेज को लौटाता है।

बाइनरी ऑप्शन ट्रेडिंग में JSONP

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

JSONP का उपयोग करने के कुछ विशिष्ट परिदृश्य शामिल हैं:

  • **रियल-टाइम मूल्य अपडेट:** JSONP का उपयोग वास्तविक समय में एसेट की कीमतों को प्राप्त करने के लिए किया जा सकता है।
  • **चार्ट डेटा:** JSONP का उपयोग ऐतिहासिक चार्ट डेटा को प्राप्त करने के लिए किया जा सकता है।
  • **न्यूज़ फीड:** JSONP का उपयोग वित्तीय समाचार फ़ीड प्राप्त करने के लिए किया जा सकता है।

हालांकि, यह ध्यान रखना महत्वपूर्ण है कि JSONP की सुरक्षा कमजोरियों के कारण, इसका उपयोग सावधानी से किया जाना चाहिए और केवल विश्वसनीय स्रोतों से डेटा प्राप्त करने के लिए किया जाना चाहिए।

JSONP के साथ समस्याएं

  • **सीमित HTTP विधियाँ:** JSONP केवल GET अनुरोधों का समर्थन करता है। आप POST, PUT, या DELETE जैसे अन्य HTTP विधियों का उपयोग नहीं कर सकते हैं।
  • **त्रुटि हैंडलिंग:** JSONP त्रुटि हैंडलिंग जटिल हो सकती है। यदि सर्वर कोई त्रुटि लौटाता है, तो ब्राउज़र इसे आसानी से संभाल नहीं सकता है।
  • **ब्राउज़र संगतता:** हालांकि JSONP अधिकांश आधुनिक ब्राउज़रों द्वारा समर्थित है, लेकिन कुछ पुराने ब्राउज़र में समस्याएँ हो सकती हैं।

JSONP बनाम CORS

| सुविधा | JSONP | CORS | |---|---|---| | सुरक्षा | कम सुरक्षित | अधिक सुरक्षित | | HTTP विधियाँ | केवल GET | सभी HTTP विधियाँ | | त्रुटि हैंडलिंग | जटिल | सरल | | ब्राउज़र संगतता | व्यापक | आधुनिक ब्राउज़र | | जटिलता | सरल | अधिक जटिल |

JSONP का उदाहरण

मान लीजिए कि आपके पास एक सर्वर है जो JSON डेटा प्रदान करता है। सर्वर-साइड कोड (उदाहरण के लिए, PHP) निम्नलिखित हो सकता है:

```php <?php

 $callback = $_GET['callback'];
 $data = array('message' => 'नमस्ते, JSONP!');
 echo $callback . '(' . json_encode($data) . ');';

?> ```

क्लाइंट-साइड कोड (HTML और JavaScript) निम्नलिखित हो सकता है:

```html <!DOCTYPE html> <html> <head>

 <title>JSONP उदाहरण</title>

</head> <body>

 <script>
   function myCallback(data) {
     alert(data.message);
   }
 </script>
 <script src="http://example.com/jsonp.php?callback=myCallback"></script>

</body> </html> ```

इस उदाहरण में, जब वेब पेज लोड होता है, तो `<script>` टैग `http://example.com/jsonp.php?callback=myCallback` से जावास्क्रिप्ट कोड डाउनलोड करता है। सर्वर `myCallback({"message": "नमस्ते, JSONP!"})` लौटाता है, जिसे ब्राउज़र निष्पादित करता है। `myCallback` फ़ंक्शन को JSON डेटा के साथ कॉल किया जाता है, जो एक अलर्ट बॉक्स प्रदर्शित करता है।

JSONP का उपयोग करते समय सर्वोत्तम अभ्यास

  • **केवल विश्वसनीय स्रोतों से डेटा प्राप्त करें:** JSONP का उपयोग केवल उन सर्वरों से डेटा प्राप्त करने के लिए करें जिन पर आप भरोसा करते हैं।
  • **कॉलबैक फ़ंक्शन नाम को नियंत्रित करें:** सुनिश्चित करें कि आप अपने कॉल बैक फ़ंक्शन का नाम नियंत्रित करते हैं ताकि सर्वर इसे ओवरराइट न कर सके।
  • **इनपुट को मान्य करें:** सर्वर-साइड पर सभी इनपुट को मान्य करें ताकि दुर्भावनापूर्ण कोड को निष्पादित होने से रोका जा सके।
  • **CORS का उपयोग करें जब संभव हो:** यदि आपका ब्राउज़र CORS का समर्थन करता है, तो JSONP के बजाय इसका उपयोग करें।
  • **सुरक्षा नीतियों का उपयोग करें:** Content Security Policy (CSP) जैसी सुरक्षा नीतियों का उपयोग करें ताकि आपके वेब पेज को XSS हमलों से बचाया जा सके।

बाइनरी ऑप्शन ट्रेडिंग में संबंधित विषय

अभी ट्रेडिंग शुरू करें

IQ Option पर रजिस्टर करें (न्यूनतम जमा ₹750) Pocket Option में खाता खोलें (न्यूनतम जमा ₹400)

हमारे समुदाय में शामिल हों

हमारे Telegram चैनल @strategybin को सब्सक्राइब करें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार के ट्रेंड्स की अलर्ट ✓ शुरुआती लोगों के लिए शैक्षिक सामग्री

Баннер