Skip to content

Cloudflare के पीछे PHP वेबसाइट ​

सादे PHP में $_SERVER['REMOTE_ADDR'] विज़िटर का नहीं, Cloudflare का पता दिखाता है। आपका कोड यह भी नहीं पहचान पाता कि विज़िटर ने HTTPS इस्तेमाल किया। इस गाइड में दो छोटे फंक्शन दिए हैं, जो दोनों समस्याएं हल करते हैं।

शुरू करने से पहले ​

  • PHP वेबसाइट आपकी होस्टिंग पर चल रही है। देखें PHP वेबसाइट होस्ट करें।
  • डोमेन Cloudflare में सक्रिय है और प्रॉक्सी चालू है (ऑरेंज क्लाउड)।
  • फाइल मैनेजर या SFTP से वेबसाइट की फाइलों तक पहुंच।

चरण ​

  1. अपने प्रोजेक्ट में cloudflare-helpers.php नाम की फाइल बनाएं और यह कोड डालें:

    php
    <?php
    
    function visitor_ip(): string
    {
        return $_SERVER['HTTP_CF_CONNECTING_IP'] ?? $_SERVER['REMOTE_ADDR'] ?? '';
    }
    
    function request_is_https(): bool
    {
        if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') {
            return true;
        }
        if (($_SERVER['HTTP_X_FORWARDED_PROTO'] ?? '') === 'https') {
            return true;
        }
        $visitor = $_SERVER['HTTP_CF_VISITOR'] ?? '';
        return strpos($visitor, '"scheme":"https"') !== false;
    }
  2. अपने पेजों में सबसे ऊपर, दूसरे कोड से पहले, यह फाइल जोड़ें:

    php
    require __DIR__ . '/cloudflare-helpers.php';
  3. जहां $_SERVER['REMOTE_ADDR'] इस्तेमाल करते थे, वहां visitor_ip() इस्तेमाल करें, जैसे लॉग और कॉन्टैक्ट फॉर्म में।

  4. HTTPS पर रीडायरेक्ट करना है या सिक्योर कुकी लगानी है, यह तय करने के लिए request_is_https() इस्तेमाल करें। यह true दे तो रीडायरेक्ट न करें, वरना पेज लूप में फंस जाएगा।

  5. वेबसाइट खोलकर नतीजा देखें। जांचना चाहें तो एक अस्थायी पेज पर दोनों मान प्रिंट करें, फिर उस पेज को हटा दें।

प्रॉक्सी के बिना साइट पर इन हेडर पर भरोसा न करें

जो भी सीधे आपके सर्वर तक पहुंच जाए, वह नकली CF-Connecting-IP हेडर भेज सकता है। visitor_ip() को लॉग और सुविधा के लिए इस्तेमाल करें, किसी जरूरी फैसले की अकेली सुरक्षा के रूप में नहीं।

सामान्य गलतियां ​

  • $_SERVER['HTTPS'] खाली होते ही HTTPS पर रीडायरेक्ट कर देना। प्रॉक्सी के पीछे HTTPS वाले विज़िटर के लिए भी यह मान खाली हो सकता है, तब पेज लूप में फंस जाता है।
  • जिस डोमेन पर प्रॉक्सी बंद है, वहां हेडर से विज़िटर का IP इस्तेमाल करना।
  • सर्वर पर हेडर की जानकारी वाला टेस्ट पेज छोड़ देना।

मदद चाहिए? ​

क्लाइंट एरिया में सपोर्ट टिकट खोलें या [SUPPORT_CONTACT] पर संपर्क करें। पेज का पता और आप क्या देखने की उम्मीद कर रहे थे, यह बताएं।

संबंधित गाइड ​

अंतिम समीक्षा ​

2026-10-29

APNCloud की आधिकारिक सहायता। मुख्य वेबसाइट: apncloud.com · क्लाइंट एरिया: account.apncloud.com