/** * Inserts an IP address into the htaccess ban list. * * @since 4.0 * * @param $ip * @param null $ban_list * @param null $white_list * * @return void */ public static function insert_ip($ip, $ban_list = null, $white_list = null) { $settings = get_site_option('itsec_ban_users'); $host = sanitize_text_field($ip); if ($ban_list === null) { $ban_list = isset($settings['host_list']) ? $settings['host_list'] : array(); } if ($white_list === null) { $global_settings = get_site_option('itsec_global'); $white_list = isset($global_settings['lockout_white_list']) ? $global_settings['lockout_white_list'] : array(); } if (!in_array($host, $ban_list) && !ITSEC_Ban_Users::is_ip_whitelisted($host, $white_list)) { $ban_list[] = $host; $settings['host_list'] = $ban_list; ITSEC_Files::quick_ban($host); update_site_option('itsec_ban_users', $settings); add_site_option('itsec_rewrites_changed', true); } }