2011-12-13 11 views
6

मैं पोस्ट का उपयोग करता है एक बहुत ही सरल HTML प्रपत्र है और अपनी कार्रवाई अपने वेब सर्वर पर एक PHP स्क्रिप्ट कहता है।HTML फ़ॉर्म पोस्ट क्रॉस-डोमेन

यहां किकर है ... HTML जिसमें फ़ॉर्म शामिल है, उसी सर्वर पर होस्ट नहीं किया गया है और एक अलग डोमेन में मौजूद है। इस प्रश्न को स्पष्टीकरण के साथ छेड़छाड़ किए बिना इसे व्यावसायिक कारणों से किया जाना है। उन्हें इन विशिष्ट डोमेन के भीतर मौजूद होना चाहिए।

जब मैं अपना फॉर्म सबमिट करता हूं तो मैं PHP स्क्रिप्ट को सही तरीके से एक्सेस करता हूं लेकिन फिर मैं POST डेटा को आज़माकर खींचता हूं और यह चला जाता है। मुझे लगता है कि यह एक सुरक्षा समस्या है क्योंकि मैं अस्थायी रूप से PHP के समान सर्वर पर फॉर्म डालता हूं और यह ठीक काम करता है।

क्या कोई तरीका है कि मैं इसे दो अलग-अलग डोमेन के साथ काम करने के लिए प्राप्त कर सकता हूं? अग्रिम में धन्यवाद।

संपादित करें:

पीएचपी संहिता (emailTemplate.php):

<?php 
var_dump($_POST); 
?> 

HTML फ़ॉर्म:

<form name="emailForm" id="emailForm" method="post" onsubmit="return beforeSubmit();" action="https://***.***.com/emailTemplate.php"> 
    <textarea rows="15" cols="75" id="myHtmlText" name="myHtmlText"></textarea> 
    <input type="text" id="toAddr" name="toAddr" size="60"/> 
    <input type="text" id="fromAddr" name="fromAddr" size="60"/> 
    <input type="text" id="subjectLine" name="subjectLine" size="60"/> 
    <input type="submit" name="Submit" value="Email Letter"> 
</form> 
+0

सैद्धांतिक रूप से, आप क्या कर रहे किसी भी समस्याओं का कारण नहीं होना चाहिए। ऐसा लगता है (क) वहाँ भेजने पोस्ट डेटा प्राप्त PHP स्क्रिप्ट में या वेबफ़ॉर्म में कोई त्रुटि है, या सुरक्षा उपाय के किसी प्रकार अपने PHP स्क्रिप्ट या सर्वर विन्यास कि पोस्ट ब्लॉक कर रहा है में जगह में वहाँ की तरह। दुर्भाग्यवश, हम सबसे अच्छा कर सकते हैं जब तक कि आप अपना कुछ कोड पोस्ट नहीं कर सकते। – Aaron

+0

@Aaron मैंने कोड जोड़ा अगर यह बिल्कुल मदद करता है। धन्यवाद। – jcmitch

+0

फ़ायरफ़ॉक्स पर काम करने के लिए लगता है लेकिन आईई नहीं। आईई एक एक्सएसएस चेतावनी देता है। – jcmitch

उत्तर

5

आप केवल IE में समस्या का सामना कर रहे हैं, उनके XSS फिल्टर कर सकते हैं जिम्मेदार ठहराना। This article इसे अक्षम करने के लिए विवरण प्रदान करता है।

इस समस्या से पूरी तरह से बचने के लिए, अपने सर्वर पर एक PHP स्क्रिप्ट पर अपना फॉर्म पोस्ट करने का प्रयास करें, और उस स्क्रिप्ट में, एक curl सत्र बनाएं जो फ़ॉर्म को अन्य स्क्रिप्ट पर पोस्ट करता है। XSS लेनदेन क्लाइंट के वेब ब्राउज़र से स्वतंत्र रूप से होता है, प्रक्रिया में इन ब्राउज़र-आधारित सुरक्षा प्रतिबंधों को बदल देता है।

+0

धन्यवाद! महान काम किया! – jcmitch

+0

यदि परिणाम में कोई सापेक्ष यूआरएल है तो यह काम नहीं करेगा। ग्राहक आपके डोमेन से संबंधित उन यूआरएल की व्याख्या करेगा, न कि रिमोट डोमेन। – Barmar

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