function check_url($url, $check_local = true, $first_level = false) { global $globals, $current_user; if (!preg_match('/^http[s]*:/', $url)) { return false; } $url_components = @parse_url($url); if (!$url_components) { return false; } if (!preg_match('/[a-z]+/', $url_components['host'])) { return false; } $quoted_domain = preg_quote(get_server_name()); if ($check_local && preg_match("/^{$quoted_domain}\$/", $url_components['host'])) { $globals['ban_message'] = _('el servidor es local'); syslog(LOG_NOTICE, "Meneame, server name is local name ({$current_user->user_login}): {$url}"); return false; } require_once mnminclude . 'ban.php'; if (check_ban($url, 'hostname', false, $first_level) || check_ban_list($url_components[host], $globals['forbiden_domains'])) { syslog(LOG_NOTICE, "Meneame, server name is banned ({$current_user->user_login}): {$url}"); $this->banned = true; return false; } return true; }
function check_email($email) { global $globals; if (!preg_match('/^[a-zA-Z0-9_\\-\\.]+@[a-zA-Z0-9_\\-\\.]+\\.[a-zA-Z]{2,4}$/', $email)) { return false; } if (check_ban_list($email, $globals['forbidden_email_domains'])) { return false; } return true; }
function check_url($url, $check_local = true) { global $globals; if (!preg_match('/^http[s]*:/', $url)) { return false; } $url_components = @parse_url($url); if (!$url_components) { return false; } $quoted_domain = preg_quote(get_server_name()); if ($check_local && preg_match("/{$quoted_domain}\$/", $url_components['host'])) { syslog(LOG_NOTICE, "Meneame, server name is local name: {$url}"); return false; } if (check_ban_list($url_components[host], $globals['forbiden_domains'])) { syslog(LOG_NOTICE, "Meneame, server name is banned: {$url}"); $this->banned = true; return false; } return true; }
function check_email($email) { global $globals; require_once mnminclude . 'ban.php'; if (!preg_match('/^[a-zA-Z0-9_\\-\\.]+(\\+[a-zA-Z0-9_\\-\\.]+)*@[a-zA-Z0-9_\\-\\.]+\\.[a-zA-Z]{2,4}$/', $email)) { return false; } if (check_ban(preg_replace('/^.*@/', '', $email), 'email') || check_ban_list($email, $globals['forbidden_email_domains'])) { return false; } return true; }