Это зависит от того, насколько вы действительно нуждаетесь в этом.
Я предполагаю, что ваш сервер внешне размещен и не подключен через VPN. Таким образом, вы проверяете, что запрашивающие адреса для вашего HTTPS (вы используете HTTPS, не так ли?) Сайт находятся в сетях вашей собственной организации.
Использование регулярного выражения для соответствия IP-адресам звучит iffy, не можете ли вы просто использовать сетевую / сетевую маску, как и все остальные?
Насколько безопасно это действительно нужно? IP-спуфинг нелегкий, поддельные пакеты не могут использоваться для установления HTTPS-соединения, если они также не манипулируют восходящими маршрутизаторами, чтобы позволить перенаправлять обратные пакеты злоумышленнику.
Если вам нужно, чтобы это действительно было безопасный, просто получите ИТ-отдел для установки VPN и маршрутизации по частному IP-адресу. Настройте ограничения вашего IP-адреса для этих частных адресов. Ограничения IP-адреса, где маршрутизация осуществляется через VPN на основе хоста, по-прежнему безопасны, даже если кто-то компрометирует восходящий по умолчанию шлюз.
$newArray = array_map('intval', $request->request->get('ids', []));
Этот код преобразует ваши строковые поля в int, чтобы вы могли сравнить.