Получить IP-адрес отправителя


На самом деле я тестирую веб-сайт с помощью Drupal 7.

Я ищу способ получить IP-адрес посетителей, когда они отправляют новый узел; пользователи также могут не входить в систему, так как анонимным пользователям разрешено отправлять новый контент.

Я не могу найти модуль для этого, и я не знаю, как использовать хуки или PHP для достижения этой цели.

Что мне делать?

 5
Author: espero, 2012-04-24

3 answers

Я еще не нашел модуль, который бы это делал. Вы можете выполнить следующие действия:

  1. Создайте текстовое поле с именем ip_address
  2. Управление отображением: сделайте поле скрытым
  3. Используйте Набор отображения или пользовательский хук (или даже CSS), чтобы скрыть поле при заполнении формы
  4. Создайте правило для события "Перед сохранением содержимого"
  5. Задайте условие типа контента: ваш тип контента
  6. Установите условие сравнения данных: [узел: является новым], Значение данных: True (установите флажок)
  7. Задайте действие по заданию значения данных и задайте значение поля:

PHP-код

<?php
  print ip_address();
?>

Этого должно хватить.

Вы также можете сделать это, создав модуль и используя некоторые крючки

 11
Author: Johnathan Elmore, 2012-04-24 18:48:37

Есть простой способ сделать это. Установите модуль Вычисляемое поле .

Добавьте вычисляемый файл (для IP-адреса) в свой тип контента и добавьте следующую строку в Вычисляемый код (PHP) текстовую область, чтобы получить текущий ip-адрес автора

$entity_field[0]['value'] = ip_address();

Вот и все.Вы получите отправленный IP-адрес автора. Нет необходимости устанавливать какие-либо другие модули

 4
Author: Krishna Mohan, 2014-07-02 10:09:29

Я написал простой модуль для сохранения IP-адреса автора. С помощью этого модуля вы можете добавить поле в тип контента, которое заполняется автором ip-адреса при создании узла.

Https://drupal.org/sandbox/drupaladmin/2191469

 1
Author: DrupalAdmin, 2014-02-09 12:24:15