php रेफ़रलर यूआरएल प्राप्त करें-पेपैल से आने वाले आगंतुक(एचटीटीपीएस)




paypal http-referer (6)

नमस्ते मैं रेफरर यूआरएल प्राप्त करने की कोशिश कर रहा हूं लेकिन जब पेपैल से विज़िटर साइट पर आता है तो यह काम नहीं करता है

$ref = $_SERVER['HTTP_REFERER'];
echo $ref;

पेपैल से आने वाले साइट पर आगंतुक जमीन अगर पेपाल यूआरएल प्राप्त करने का एक आसान तरीका है?

संपादित करें और स्पष्टीकरण: मैं पेपैल साइट (विशेषकर आईपीएन, रिटर्न यूआरएल, पेमेंट डाटा ट्रांसफर या पेपैल साइट पर किसी भी अन्य विशेष सेटिंग्स सहित) को शामिल करने के लिए विशेष सेटिंग्स की तलाश नहीं कर रहा हूं। यूआरएल रेफरर की तलाश है जब विज़िटर पेपैल से साइट पर आएंगे, लेनदेन की स्थिति के संबंध में (यदि कोई था)।

जैसा मैनुअल से बॉब ने बताया

$ _SERVER एक सरणी है जिसमें हेडर, पथ और स्क्रिप्ट स्थानों जैसी जानकारी शामिल है > इस सरणी में प्रविष्टियां वेब सर्वर द्वारा बनाई गई हैं इसमें कोई गारंटी नहीं है कि हर वेब> सर्वर इनमें से कोई भी प्रदान करेगा; सर्वर कुछ न छोड़े, या दूसरों को यहां सूचीबद्ध नहीं कर सकते हैं

इसलिए केवल एक ही सवाल बाकी है - क्या पेपैल साइट पर कुछ सेट किए बिना इसका कोई वैकल्पिक उपाय है?


यदि आपकी साइट HTTP (न HTTPS) का उपयोग करती है और पेपलेट HTTPS का उपयोग करता है, तो कोई रेफ़रलर भेजा नहीं जा रहा है!

HTTP आरएफसी - 15.1.3 यूआरआई के राज्यों में संवेदनशील जानकारी एन्कोडिंग :

ग्राहकों को एक (गैर-सुरक्षित) HTTP अनुरोध में एक रेफरर हेडर फ़ील्ड शामिल नहीं करना चाहिए अगर संदर्भ पृष्ठ सुरक्षित प्रोटोकॉल के साथ स्थानांतरित किया गया था।

इसलिए रेफरर प्राप्त करने का एकमात्र तरीका आपकी साइट पर HTTPS का उपयोग करना है।


एक अलग परिप्रेक्ष्य से इसे देखकर: यदि आप कोशिश कर रहे हैं पता करने के लिए वे कहाँ से पहले वे पेपैल गए, और आप साइट उन्हें पेपैल भेज रहा है (या आप उन्हें पेपैल के रास्ते पर अपनी वेबसाइट के माध्यम से पुनर्प्रेषित करने के लिए प्राप्त कर सकते हैं ), अपनी वेबसाइट पर एक कुकी सेट करें, इससे पहले कि आप उन्हें रीडायरेक्ट करें, और फिर वे वापस आने पर कुकी पढ़ें।

माफ करना, अगर आपको फिर से नहीं चाहिए, लेकिन सिर्फ जांच कर रही है कि आपने इसे माना है (जैसा कि मुझे नहीं लगता कि आप रेफरर से जीतने जा रहे हैं)।


आप जावास्क्रिप्ट में document.referrer का उपयोग कर सकते हैं और उसे AJAX या किसी चीज़ के जरिए सर्वर पर भेज सकते हैं यदि आपको इसकी आवश्यकता है


आपके ज्ञान के लिए धन्यवाद (टिप्पणी में) जैसा कि बॉब ने कहा, आप सर्वर द्वारा भेजी गई जानकारी पर भरोसा नहीं कर सकते। मैं क्या करूंगा, किसी उपयोगकर्ता को भुगतान करने से पहले एक पेज बनाना होगा, एक कुकी (या सत्र) सेट करें, उपयोगकर्ता को पेपल वेबसाइट पर रीडायरेक्ट करें। जब उपयोगकर्ता आपकी वेबसाइट पर लौटता है (या तो पेपैल, कुछ लिंक्स, या मैन्युअल रूप से) आप जानते हैं कि व्यक्ति ने पे बटन दबाया (जैसा कि आप कुकी या सत्र सेट करते हैं) और आप जो कार्य करना चाहते हैं

ऐसा नहीं है जो आपने पूछा, लेकिन एक स्वीकार्य समाधान हो सकता है।


आप आईपीएन की जांच कर सकते हैं लेन-देन प्रभावित होने पर यह सूचना भेजता है।
यूआरएल: https://www.paypal.com/ipn


रेफरर दुर्भाग्य से ग्राहक द्वारा सेट किया गया है और कुछ ब्राउज़र (या प्लगइन्स) उपयोगकर्ता को संशोधित करने के लिए सर्वर को भेजे जाने वाले रेफ़रर को अनुमति देता है। यह "महत्वपूर्ण" पर विश्वास करने के लिए कभी अच्छा विचार नहीं है (आपके मामले में मुझे लगता है) उपयोगकर्ता द्वारा भेजे गए सूचनाएं हालांकि यह केवल एकमात्र सूचना है जहां से आपके पास उपयोगकर्ता कहां से आता है (यदि आप इसका उपयोग नहीं करना चाहते तो पेपैल क्या पेशकश कर सकता है)।





http-referer