示例#1
0
 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;
 }
示例#2
0
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;
}
示例#3
0
 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;
 }
示例#4
0
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;
}