Перейти к содержанию
Форум поддержки пользователей VamShop

IP адрес покупателя


Рекомендуемые сообщения

Ситуация следующая:

В админке "Кто онлайн" вижу адреса посетителей -"белые" разумеется.

А когда формируется заказ - записывается локальный (серый) адрес сервера.

В чем засада, где рыть?

Ссылка на сообщение
Поделиться на другие сайты

Вот такой строкой записывается ip в базу в /checkout_process.php:

if ($_SERVER["HTTP_X_FORWARDED_FOR"]) {
$customers_ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else {
$customers_ip = $_SERVER["REMOTE_ADDR"];
}

Попробуйте заменить на:

$customers_ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
Ссылка на сообщение
Поделиться на другие сайты

Нет не помогает.

Помониторил процесс.

Пока на главной , в карточке товара  - у клиента белый адрес

Как только в Личный кабинет, добавляем в корзину - сразу "перескакивает", т.е. заменяется  на серый адрес сервера

Видно в админке в Кто онлайн.

То есть к моменту записи он уже неверный.

Млин, шаманство какое то...

Ссылка на сообщение
Поделиться на другие сайты

Для начала нужно понять где это переопределение происходит.

 

А что делает inc/vam_get_ip_address.inc.php

там вот такой интресный код

function vam_get_ip_address() {
    if (isset($_SERVER)) {
      if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
      } else
	  if (isset($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
      } else {
        $ip = $_SERVER['REMOTE_ADDR'];
      }
    } else {
      if (getenv('HTTP_X_FORWARDED_FOR')) {
        $ip = getenv('HTTP_X_FORWARDED_FOR');
      } else
	  if (getenv('HTTP_CLIENT_IP')) {
        $ip = getenv('HTTP_CLIENT_IP');
      } else {
        $ip = getenv('REMOTE_ADDR');
      }
    }

    return $ip;
  }

Как бы не он первоначально определяет IP клиента?

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...