WP Manifestindependent plugin directory
manifest / security / ip-matcher

IP Matcher

Checks that IP address contains in present list of subnets

★ 0stars
58composer installs

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/moddix-deeplay/ip-matcher/archive/refs/heads/master.zip

On Packagist as moddix/ip-matcher:

composer require moddix/ip-matcher
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Простой класс для поиска IP адреса в большом списке IP адресов и подсетей.

Несколько вариантов использования:

  1. В файл ips.json добавить список IP адресов и/или подсетей.
[
  "69.38.0.0\/16",
  "38.0.0.0\/8",
  "74.6.0.0\/16",
  "67.195.0.0\/16",
  "93.172.94.227",
  "212.100.250.218",
  "71.165.223.134",
  "70.91.180.25",
  "65.93.62.242",
  "74.193.246.129"
]

После чего нужно подготовить данные, пример в prepare_data.php.
Будет создан файл data.json в котором будут храниться отсортированные значения, а также будут удалены дубли и произведено объедение если какая-то из подсетей "захватывает" одиночные IP адреса.

В файле search.php пример поиска IP адреса.


  1. Через настройки плагина в админке WordPress.
    Наполняем списком адресов, нажимаем "Сохранить изменения" и JSON будет сохранён в опции ip_matcher_json. В любом месте получить JSON можно так:
    $json = get_option('ip_matcher_json', '');

    И далее используем класс IPMatcher для поиска IP адреса.