public function test_whitelist() { $rules = new IPRules(); $allow = '127.0.0.1'; $this->assertTrue($rules->allow($allow)->check($allow)); $this->assertFalse($rules->check('192.168.50.4')); }
/** * Check route-level settings for IP addresses. * * @since 1.0.0 * * @param mixed $response Existing response. * @param \WP_REST_Request $request Request used to generate the response. * @return mixed */ public function check_route_ip_rules($response, WP_REST_Request $request) { $settings = []; if (!empty($request->get_attributes()['ips'])) { $settings = $request->get_attributes()['ips']; } if ($settings instanceof IPRulesInterface) { $rules = $settings; } else { $rules = new IPRules($settings); } if (!$rules->check($this->get_ip_address())) { $response = $this->get_forbidden_error(); } return $response; }