Как вывести IP-адреса пользователей в WordPress

Дата публикации:Март 20, 2014

На днях один из наших пользователей задал вопрос, можно ли как-то определить и вывести на экран IP-адрес отдельного посетителя в WordPress. Наш ответ был следующим: естественно, можно! В данной статье мы покажем вам, как отобразить IP-адрес пользователя в WordPress.

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

Все, что вам нужно сделать – это добавить следующий фрагмент кода в файл functions.php:

// Display User IP in WordPress

function wpb_show_ip()
{
        $user_ip = $_SERVER['REMOTE_ADDR'];
        return $user_ip;
}

add_shortcode('show_ip', 'wpb_show_ip');

Далее вам нужно будет добавить следующий шорткод в запись, на страницу или в виджет сайдбара:

[ show_ip ]

Если вы используете шорткод в вашем текстовом виджете и он не работает, то в таком случае вам нужно убедиться, что шорткоды для виджетов сайдбара включены.

Примечание от Пиппина Вильямсона: стоит отметить, что $_SERVER[‘REMOTE_ADDR’] не всегда корректно возвращает IP. Если пользователь использует совместное подключение к интернету, то в таком случае нужно использовать $_SERVER[‘HTTP_X_FORWARDED_FOR’]. IP может также быть представлен в переменной $_SERVER[‘HTTP_CLIENT_IP’]. Если пользователь использует прокси, вам нужно использовать $_SERVER[‘HTTP_X_FORWARDED_FOR’].

В целом, чтобы точно получить IP-адрес, следует использовать следующую функцию:

<?php
function get_the_user_ip() {
	if ( ! empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
		//check ip from share internet
		$ip = $_SERVER['HTTP_CLIENT_IP'];
	} elseif ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
		//to check ip is pass from proxy
		$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
	} else {
		$ip = $_SERVER['REMOTE_ADDR'];
	}
	return apply_filters( 'edd_get_ip', $ip );
}

Источник: wpbeginner.com

Поделиться

8 комментариев

  1. Как можно определить ip зарегистрировашегося пользователя, не оставившего на сайте ни одной записи, коментария? Заранее благодарен.

  2. Nastya says:

    так в самой админке в списке пользователей вроде как выводятся вместе с остальной инфой — логин почта и т.д.

  3. В том то и дело что не выводиться, замучился уже чистить список пользователей. Кто то региться, видимо один и тот же чел по 50 учетных записей открывает, а пока он ни чего не напишет, комент например ip общедоступными средствами не определить. есть конечно геморный вариант в код лезть, но я пока не особый спец по програмированию. Пока просто лавочку прикрыл на регистрацию, до устранения проблемы.

  4. Вообще, на мой личный взгляд, рекапча, разработанная гуглом — это ужас. На сайтах, где стоит рекапча мне приходилось порой с третьего-пятого раза угадывать и вводить то, что там изображается. Т.е. я тратил уйму времени на то, чтобы скачать какой-то файл или зарегистрироваться. С регистрацией так и вообще — если неправильно ввёл, перегружается страница с регистрационными данными и вводи всё по новой.

    Т.е. я бы сказал: рекапча — античеловеческое решение. В то же самое время роботу гораздо проще её обойти, чем ввести живому человеку. Это касается капч вообще.

    Рекомендую лучше поставить проверочный вопрос или ложное поле, которое заполняют боты, а людям не видно.

    На вскидку, что нашлось (сам не пользовался):

    https://wordpress.org/plugins/humancaptcha/ — придумываете уникальные вопросы и прощай боты. Всё гениальное — просто.

    Без плагинов, тот же проверочный вопрос:
    https://trepmal.com/2011/02/28/add-a-security-question-to-the-register-screen/

    И еще разное против спамеров:
    http://wordpress.org/plugins/wangguard/
    http://wordpress.org/plugins/stop-spammer-registrations-plugin/

  5. Дмитрий Алёшин says:

    Wangguard имеет свою базу спамеров, но мне кажется, что для русского сегмента такая база будет не совсем актуальной, поскольку у нас есть и свои спамеры.

  6. Спасибо большое, попробую капчу установить.Я видел где то в вордпрессе капчу состоящуу из цифр,а то капчу из букв я и сам не очень люблю, особенно на латинице да еще где буква на букву наезжает.

  7. Ну вот humancaptcha, то биш контрольный вопрос — имхо самое надежное. Контрольные вопросы, придуманные лично, я использовал например на форумах. Всегда работало идеально. А капчу постоянно ломают боты и она никогда не давала высоких результатов.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.