PHP में रेफ़रलर का निरीक्षण करें




referrer (3)

क्या यह जांचना संभव है कि PHP में आपकी वेबसाइट पर कौन प्रवेश कर रहा है मेरे पास एक वेब अनुप्रयोग है (PHP में लिखा गया है) जिसे केवल कुछ विशेष वेबसाइटों में प्रवेश करने वाले उपयोगकर्ताओं को ही अनुमति देना चाहिए। क्या _Request ऑब्जेक्ट का परीक्षण करके रेफरल वेबसाइट्स प्राप्त करना संभव है? यदि हां, तो कैसे?


आप रेफरर पर भरोसा नहीं कर सकते $_SERVER सरणी से आने के बावजूद, यह वास्तव में एक उपयोगकर्ता / ब्राउज़र की आपूर्ति की गई कीमत है और आसानी से नकली है, जैसे कि फ़ायरफ़ॉक्स रीफ्रैंट्रोल ऐडियन


आपको 'HTTP_REFERER' कुंजी के लिए $ _SERVER सरणी की जांच करने की आवश्यकता है


हां, लेकिन ध्यान रखें कि कुछ प्रॉक्सी और अन्य चीजों को इस जानकारी से बाहर निकालना है, और यह आसानी से जाली जा सकता है। इसलिए इस पर भरोसा मत करो उदाहरण के लिए, मत सोचो कि आपका वेब एप सीएसआरएफ से सुरक्षित है क्योंकि आप अपने खुद के सर्वर से मिलान करने के लिए रेफ़रलकर्ता को जांचते हैं।

$referringSite = $_SERVER['HTTP_REFERER']; // is that spelt wrong in PHP ?

यदि आप केवल किसी विशिष्ट डोमेन से अनुरोधों को अनुमति देना चाहते हैं, तो आपको शीर्ष स्तर डोमेन प्राप्त करने के लिए कुछ URL को पार्स करने की आवश्यकता होगी। जैसा कि मैंने अधिक सीखा है, यह PHP के parse_url () के साथ किया जा सकता है।

जैसा कि एंडिक टिप्पणी में बताता है , आपको www.example.com और example.com के लिए भी अनुमति होगी।





referrer