Исправление — WordPress показывает IP локального хоста (127.0.0.1) для автора комментария вместо реального

Это руководство поможет решить проблему, при которой WordPress отображает IP-адрес локального хоста (127.0.0.1) для автора комментария вместо фактического IP-адреса.

Сначала мы диагностируем причину проблемы, а затем предоставим пошаговое решение для ее устранения. Мы также обсудим важность точного отслеживания IP-адресов в целях безопасности и модерации.

К концу этого урока вы решите эту проблему и сможете точно отслеживать IP-адреса комментаторов на вашем сайте WordPress. Это обязательное чтение для всех, кто сталкивается с этой проблемой и ищет решение.

Итак, вы используете лак? Круто! Именно поэтому вы не можете увидеть реальный IP ваших посетителей. Не беспокойтесь, вот полное решение.

comment author ip

Чтобы устранить эту проблему,

  1. Вход на FTP/SFTP
  2. Перейдите в папку public_html
  3. Отредактируйте файл wp-config.php
  4. Добавьте приведенный ниже код непосредственно перед /* Вот и все, хватит редактировать! Счастливого блоггинга. */
  5. Сохранить изменения.
/** Required Code for showing correct IP address */
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
$xffaddrs = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']); 
$_SERVER['REMOTE_ADDR'] = $xffaddrs[0]; 
}

Марк: С этой небольшой проблемой я столкнулся на хостинге Cloudways.

Альтернативный случай

Аналогично, если после использования Cloudflare ваш IP отображается неправильно, вот решение —

/** Correct IP in case of Cloudflare **/
if(array_key_exists('HTTP_CF_CONNECTING_IP', $_SERVER)){ 
 $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP']; 
}

Также, если у вас есть стек LEMP с доступом root, то добавьте нижеприведенное правило в разделе Server Block. Вы можете найти свой файл конфигурации в каталоге /etc/nginx/sites-available/.

server {
root /var/www/html;
index index.php index.html index.htm;
server_name .example.com;
# Get real IP
set_real_ip_from 0.0.0.0/0;
set_real_ip_from ::/0;
real_ip_header X-Forwarded-For;
...

В случае, если вам неудобно редактировать файл wp-config.php, добавьте приведенный выше сниппет с помощью плагина Code Snippets. Он будет работать отлично. Надеюсь, это руководство поможет вам в правильном направлении. Спасибо

Оставьте комментарий

18 комментариев к “Исправление — WordPress показывает IP локального хоста (127.0.0.1) для автора комментария вместо реального”

  1. That’s the exact problem I was facing. The Cloudways support did rectify it twice but they never shared the solution. It was Mustasaam who referred me to this page.

    The solution works perfectly for me. Thank you for sharing.

    Just one more query, how did you hide the Website option from the comments box? Most of my readers are internet noobs who feel filling out the Website section is mandatory. I too want to get the same removed. Mind sharing an article on my email ID?

    Ответить
    • Thanks for visiting.

      To hide website field, you can use below snippet.

      // Remove URL Field
      function remove_url_comments($fields) {
      unset($fields['url']);
      return $fields;
      }
      add_filter('comment_form_default_fields','remove_url_comments');
      Ответить
  2. Hi, I’ve found your blog from shoutmeloud forum, and it’s great for optimizing wordpress.

    What plugin/code you’re using for the responsive mobile menu at the left corner of the header? I need one badly.

    Ответить