function rs_wpss_user_register($user_id) { if (rs_wpss_is_login_page() || rs_wpss_is_3p_register_page()) { global $spamshield_options; if (empty($spamshield_options)) { $spamshield_options = get_option('spamshield_options'); } $buddypress_status = $s2member_status = $wpmembers_status = FALSE; $log_pref = ''; /* Check if registration spam shield is disabled - Added in 1.6.9 */ if (!empty($spamshield_options['registration_shield_disable'])) { return; } if (defined('WS_PLUGIN__S2MEMBER_VERSION')) { $s2member_status = TRUE; $log_pref = 's2-'; } if (defined('AFFILIATES_CORE_VERSION')) { $affiliates_status = TRUE; $log_pref = 'aff-'; } if (defined('WPMEM_VERSION')) { $wpmembers_status = TRUE; $log_pref = 'wpm-'; } $new_fields = array('first_name' => __('First Name', WPSS_PLUGIN_NAME), 'last_name' => __('Last Name', WPSS_PLUGIN_NAME), 'disp_name' => __('Display Name', WPSS_PLUGIN_NAME)); $user_data = array(); foreach ($new_fields as $k => $v) { if (isset($_POST[$k])) { $user_data[$k] = sanitize_text_field(wp_unslash($_POST[$k])); } else { $user_data[$k] = ''; } } if (!empty($user_data)) { $user_data['ID'] = $user_id; $user_data['display_name'] = $user_data['disp_name']; unset($user_data['disp_name']); wp_update_user($user_data); } $wpss_display_name = $wpss_user_firstname = $wpss_user_lastname = $wpss_user_email = $wpss_user_url = $wpss_user_login = ''; $user_info = get_userdata($user_id); if (isset($user_info->display_name)) { $wpss_display_name = $user_info->display_name; } if (isset($user_info->user_firstname)) { $wpss_user_firstname = $user_info->user_firstname; } if (isset($user_info->user_lastname)) { $wpss_user_lastname = $user_info->user_lastname; } if (isset($user_info->user_email)) { $wpss_user_email = $user_info->user_email; } if (isset($user_info->user_url)) { $wpss_user_url = $user_info->user_url; } if (isset($user_info->user_login)) { $wpss_user_login = $user_info->user_login; } $wpss_comment_author = $wpss_display_name; $wpss_comment_author_email = $wpss_user_email; $wpss_comment_author_url = $wpss_user_url; $register_author_data = array('display_name' => $wpss_display_name, 'user_firstname' => $wpss_user_firstname, 'user_lastname' => $wpss_user_lastname, 'user_email' => $wpss_user_email, 'user_url' => $wpss_user_url, 'user_login' => $wpss_user_login, 'ID' => $user_id, 'comment_author' => $wpss_display_name, 'comment_author_email' => $wpss_user_email, 'comment_author_url' => $wpss_user_url); $wpss_error_code = 'No Error'; rs_wpss_update_user_ip($user_id); rs_wpss_update_accept_status($register_author_data, 'a', 'Line: ' . __LINE__); if (!empty($spamshield_options['comment_logging']) && !empty($spamshield_options['comment_logging_all'])) { rs_wpss_log_data($register_author_data, $wpss_error_code, $log_pref . 'register'); } } }
public static function early_post_intercept() { /** * SECURITY - Checks all incoming POST requests early for malicious behavior * Added 1.9.7.8 */ if ('POST' !== $_SERVER['REQUEST_METHOD'] || rs_wpss_is_local_request() || is_user_logged_in()) { return; } global $spamshield_options; if (empty($spamshield_options)) { $spamshield_options = get_option('spamshield_options'); } if (!empty($spamshield_options['disable_misc_form_shield'])) { return; } $url = rs_wpss_get_url(); $url_lc = rs_wpss_casetrans('lower', $url); $req_uri = $_SERVER['REQUEST_URI']; $req_uri_lc = rs_wpss_casetrans('lower', $req_uri); $epc_filter_status = $wpss_error_code = $log_pref = ''; $epc_jsck_error = $epc_badrobot_error = FALSE; $form_type = 'misc form'; $pref = 'EPC-'; $errors_3p = array(); $error_txt = rs_wpss_error_txt(); $server_name = WPSS_SERVER_NAME; $server_email_domain = rs_wpss_get_email_domain($server_name); $epc_serial_post = json_encode($_POST); $form_auth_dat = array('comment_author' => '', 'comment_author_email' => '', 'comment_author_url' => ''); $blocked = FALSE; $c = array('name' => '', 'value' => '1', 'expire' => time() + 60 * 60 * 24 * 365 * 1, 'path' => '/', 'domain' => rs_wpss_get_cookie_domain(), 'secure' => FALSE, 'httponly' => FALSE); if (rs_wpss_is_xmlrpc()) { if (empty($_POST) || !empty($_GET)) { $blocked = TRUE; } rs_wpss_start_session(); $c['name'] = 'P_XMLRPC'; } if (rs_wpss_is_doing_ajax()) { if (empty($_POST) && empty($_GET) || empty($_REQUEST['action'])) { $wpss_error_code .= ' ' . $pref . 'FAR1020'; $err_cod = 'fake_ajax_request_error'; $err_msg = __('That action is currently not allowed.'); $errors_3p[$err_cod] = $err_msg; } } if (rs_wpss_skiddie_ua_check()) { $wpss_error_code .= ' ' . $pref . 'UA1004'; $err_cod = 'badrobot_skiddie_error'; $err_msg = __('That action is currently not allowed.'); $errors_3p[$err_cod] = $err_msg; } if (rs_wpss_ubl_cache()) { if (TRUE === WPSS_IP_BAN_ENABLE && rs_wpss_is_xmlrpc()) { self::ip_ban(); } $wpss_error_code .= ' ' . $pref . '0-BL'; $err_cod = 'blacklisted_user_error'; $err_msg = __('That action is currently not allowed.'); $errors_3p[$err_cod] = $err_msg; } if (!empty($c['name'])) { /* Setting cookie to honeypot bad actors */ @setcookie($c['name'], $c['value'], $c['expire'], $c['path'], $c['domain'], $c['secure'], $c['httponly']); } if (!empty($wpss_error_code)) { rs_wpss_update_accept_status($form_auth_dat, 'r', 'Line: ' . __LINE__, $wpss_error_code); if (!empty($spamshield_options['comment_logging'])) { rs_wpss_log_data($form_auth_dat, $wpss_error_code, $form_type, $epc_serial_post); } } else { rs_wpss_update_accept_status($form_auth_dat, 'a', 'Line: ' . __LINE__); } /* Now output error message */ if (!empty($wpss_error_code)) { $error_msg = ''; foreach ($errors_3p as $c => $m) { $error_msg .= '<strong>' . $error_txt . ':</strong> ' . $m . '<br /><br />' . WPSS_EOL; } WP_SpamShield::wp_die($error_msg, TRUE); } }