Poprawka – WordPress pokazuje IP Localhost (127.0.0.1) dla autora komentarza zamiast prawdziwego

Ten tutorial zajmie się problemem, w którym WordPress wyświetla adres IP lokalnego hosta (127.0.0.1) dla autora komentarza zamiast jego rzeczywistego adresu IP.

Najpierw zdiagnozujemy przyczynę problemu, a następnie przedstawimy rozwiązanie krok po kroku, aby go naprawić. Omówimy również znaczenie dokładnego śledzenia adresów IP dla celów bezpieczeństwa i moderacji.

Pod koniec tego samouczka rozwiążesz problem i będziesz mógł dokładnie śledzić adresy IP komentatorów w swojej witrynie WordPress. Jest to lektura obowiązkowa dla każdego, kto doświadcza tego problemu i szuka rozwiązania.

Więc, używasz Varnish? Fajnie! To dlatego nie jesteś w stanie zobaczyć prawdziwego IP odwiedzających. Nie martw się, oto kompletne rozwiązanie.

comment author ip

Aby naprawić ten problem,

  1. Zaloguj się do FTP/SFTP
  2. Idź do public_html folder
  3. Edytuj wp-config.php
  4. Dodaj poniższy kod tuż przed /* To wszystko, przestań edytować! Szczęśliwego blogowania. */
  5. Zapisz zmiany.
/** Wymagany Kod wskazujący prawidłowy adres IP */
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
$xffaddrs = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']); 
$_SERVER['REMOTE_ADDR'] = $xffaddrs[0]; 
}

Mark: Ten mały problem miałem na Cloudways web hosting.

Alternatywny przypadek

Podobnie, jeśli twoje IP jest wyświetlane nieprawidłowo po użyciu Cloudflare, tutaj jest poprawka -.

/** Przywrócenie poprawnego IP w przypadku Cloudflare **/
if(array_key_exists('HTTP_CF_CONNECTING_IP', $_SERVER)){ 
 $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP']; 
}

Alternatywnie, jeśli masz stos LEMP z dostępem roota, to dodaj poniższą regułę w Server Block. Możesz znaleźć swój plik konfiguracyjny w katalogu /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;
...

W przypadku, gdy nie czujesz się komfortowo w edycji pliku wp-config.php, dodaj powyższy snippet za pomocą wtyczki Code Snippets. To będzie działać dobrze. Mam nadzieję, że ten przewodnik pomoże w dobrym kierunku. Dzięki

Dodaj komentarz

18 komentarzy do “Poprawka – WordPress pokazuje IP Localhost (127.0.0.1) dla autora komentarza zamiast prawdziwego”

  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?

    Odpowiedz
    • 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');
      Odpowiedz
  2. Thank you Gulshan. I thought someone is commenting from my server itself. It looks like this problem exists in Cloudways.

    Odpowiedz
  3. I was looking for the same. It is showing 127.0.0.1. Fixed it. your blog seems very handy for wordpress fixes/optimizations. thanks.

    Odpowiedz
  4. 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.

    Odpowiedz
    • Hi,
      Thanks for coming back.

      You need to put code just before this line
      /* That's all, stop editing! Happy blogging. */

      Odpowiedz