Иконка ресурса

Hide Admin / Moderator IP Address

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

Эта модификация нуждается в редактировании файла в ядре XenForo, который находится по пути:

/library/Xenforo/Model/Ip.php

Этот мануал не заменит данные IP, которые были записаны в сообщениях до её применения.
Так что если вы хотите заменить старые данные IP, вы должны выполнить следующий SQL запрос:

UPDATE xf_ip SET IP = 'сссс' WHERE user_id = 1

(Сссс означает 99.99.99.99)

Сделайте резервную копию этого файла, прежде чем приступить;) к его редактированию.

Но обратите внимание:
  • Измененный файл будет перезаписан при загрузке новых файлов XenForo при обновлении движка.
---------------------
Во- первых, вы должны решить, какие фейковые IP вы хотите использовать - 99.99.99.99 или 88.88.88.88 или что-то другое.

Обратите внимание:
Было замечено, что некоторые IP, такие как 1.1.1.1 не будет работать, а это значит, будет записан в качестве IP NULL.
В мануале выбран 99.99.99.99 для примера.

Во- вторых, здесь идет редактирование файла, например, вы хотите установить IP 99.99.99.99 у пользователя с идентификатором 1.

Найдите код:
Код:
public function logIp($userId, $contentType, $contentId, $action, $ipAddress = null, $date = null)
    {
        $ipAddress = XenForo_Helper_Ip::getBinaryIp(null, $ipAddress);
        if (!$ipAddress)
        {
            return 0;
        }

        if ($date === null)
        {
            $date = XenForo_Application::$time;
        }

        $this->_getDb()->insert('xf_ip', array(
            'user_id' => $userId,
            'content_type' => $contentType,
            'content_id' => $contentId,
            'action' => $action,
            'ip' => $ipAddress,
            'log_date' => max(0, $date)
        ));

        return $this->_getDb()->lastInsertId();
    }
Замените на:
Код:
public function logIp($userId, $contentType, $contentId, $action, $ipAddress = null, $date = null)
    {
        if (1 == $userId) {/* Semprot modification */
            $ipAddress = '99.99.99.99';
        }

        $ipAddress = XenForo_Helper_Ip::getBinaryIp(null, $ipAddress);
        if (!$ipAddress)
        {
            return 0;
        }

        if ($date === null)
        {
            $date = XenForo_Application::$time;
        }

        $this->_getDb()->insert('xf_ip', array(
            'user_id' => $userId,
            'content_type' => $contentType,
            'content_id' => $contentId,
            'action' => $action,
            'ip' => $ipAddress,
            'log_date' => max(0, $date)
        ));

        return $this->_getDb()->lastInsertId();
    }
Если вы хотите скрыть IP нескольких пользователей с идентификатором (1, 22, 192, 391):
Замените на:
Код:
 public function logIp($userId, $contentType, $contentId, $action, $ipAddress = null, $date = null)
    {
        if (in_array($userId, array(1, 22, 192, 391))) {/* Semprot modification */
            $ipAddress = '99.99.99.99';
        }

        $ipAddress = XenForo_Helper_Ip::getBinaryIp(null, $ipAddress);
        if (!$ipAddress)
        {
            return 0;
        }

        if ($date === null)
        {
            $date = XenForo_Application::$time;
        }

        $this->_getDb()->insert('xf_ip', array(
            'user_id' => $userId,
            'content_type' => $contentType,
            'content_id' => $contentId,
            'action' => $action,
            'ip' => $ipAddress,
            'log_date' => max(0, $date)
        ));

        return $this->_getDb()->lastInsertId();
    }
  • Проверено на XenForo 1.5.13
Чтобы скрыть IP-адрес в списке пользователей онлайн, Вы можете изменить шаблон online_list.
Найти:
Код:
<a href="{xen:if '{$user.user_id}', {xen:link online/user-ip, $user}, {xen:link online/guest-ip, '', 'ip={$user.ipHex}'}}" class="OverlayTrigger ip"><span>{xen:helper ip, $user.ip}</span></a>
заменить на:
Код:
<xen:if is="in_array({$user.user_id}, array(1))">
    Hidden
<xen:else />
    <a href="{xen:if '{$user.user_id}', {xen:link online/user-ip, $user}, {xen:link online/guest-ip, '', 'ip={$user.ipHex}'}}" class="OverlayTrigger ip"><span>{xen:helper ip, $user.ip}</span></a>
</xen:if>
подробное во вкладке Обзор на английском.
Автор
r2d2
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя r2d2