WordPress.org

Ready to get started?Download WordPress

Forums

[resolved] Error HTTP_X_FORWARDED (5 posts)

  1. zookie_333
    Member
    Posted 1 year ago #

    I have a problem when checkingout in my webshop. Website sends a "internal" ip ( 10.0.18.5) from isp and my payment gateway dont accept it.

    My isp tells me to change this:
    $_SERVER['REMOTE_ADDRESS'] ===> $_SERVER['HTTP_X_REAL_IP']
    (not working)

    My payment gateway tell me to change:
    return $tmp_ip;     ====> return $_SERVER["HTTP_X_FORWARDED_FOR"];

    My Code:

    /**
         * Returns the clients IP address.
         *
         * @return string
         */
        public function getClientIP() {
            //Proxy handling.
            $tmp_ip = $_SERVER['REMOTE_ADDR'];
            $x_fwd = isset($_SERVER["HTTP_X_FORWARDED_FOR"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : null;
            if(self::$x_forwarded_for && $x_fwd !== null) {
                //Cut out the first IP address
                if(($cpos = strpos($x_fwd, ',')) !== false) {
                    $tmp_ip = substr($x_fwd, 0, $cpos);
                    $x_fwd = substr($x_fwd, $cpos+2);
                }
                else { //Only one IP address
                    $tmp_ip = $x_fwd;
                    $x_fwd = null;
                }
            }
            $this->x_fwd = $x_fwd;
    
            return $tmp_ip;          
        }

    HELP!!!!!!!!!!

  2. webaware
    Member
    Posted 1 year ago #

    Try adding this line to your wp-config.php file (before the require() statement):

    $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP'];

  3. zookie_333
    Member
    Posted 1 year ago #

    Tnx. Now it works!

  4. zookie_333
    Member
    Posted 1 year ago #

    I made change it in the plugin file (payment gateway). Now it works perfect!

    Thanks!

  5. webaware
    Member
    Posted 1 year ago #

    @zookie_333: is the payment gateway your own? If not, you will lose your changes when you update -- which is why I suggested the wp-config.php file instead.

Topic Closed

This topic has been closed to new replies.

About this Topic