Exemple #1
0
function SSO_IsIPAllowed($info)
{
    global $sso_settings, $sso_ipaddr;
    $allowed = false;
    $patterns = explode("\n", str_replace("\r", "\n", $sso_settings[""]["iprestrict"]["patterns"]));
    foreach ($patterns as $pattern) {
        $pattern = trim($pattern);
        if ($pattern != "" && IPAddr::IsMatch($pattern, $sso_ipaddr)) {
            $allowed = true;
        }
    }
    if (!$allowed) {
        return false;
    }
    $allowed = false;
    $patterns = explode("\n", str_replace("\r", "\n", $info["patterns"]));
    foreach ($patterns as $pattern) {
        $pattern = trim($pattern);
        if ($pattern != "" && IPAddr::IsMatch($pattern, $sso_ipaddr)) {
            $allowed = true;
        }
    }
    return $allowed;
}
Exemple #2
0
 if ($sso_site_admin && isset($_REQUEST["action"]) && $_REQUEST["action"] == "manageipcache") {
     $desc = "<br />";
     $desc .= "<a href=\"" . BB_GetRequestURLBase() . "?action=resetipcache&sec_t=" . BB_CreateSecurityToken("resetipcache") . "\" onclick=\"return confirm('" . htmlspecialchars(BB_JSSafe(BB_Translate("Resetting will wipe the entire cache.  Are you sure you want to reset the IP address cache?"))) . "');\">" . htmlspecialchars(BB_Translate("Reset IP Address Cache")) . "</a>";
     $rows = array();
     if (isset($_REQUEST["ipaddr"]) && $_REQUEST["ipaddr"] != "") {
         $pattern = $_REQUEST["ipaddr"];
         if (strpos($pattern, "-") !== false || strpos($pattern, ",") !== false || strpos($pattern, "*") !== false) {
             $result = $sso_db->Query("SELECT", array("*", "FROM" => "?"), $sso_db_ipcache);
         } else {
             $ipaddr = IPAddr::NormalizeIP($pattern);
             $pattern = $ipaddr["ipv6"];
             $result = $sso_db->Query("SELECT", array("*", "FROM" => "?", "WHERE" => "ipaddr = ?"), $sso_db_ipcache, $pattern);
         }
         while ($row = $result->NextRow()) {
             $ipaddr = IPAddr::NormalizeIP($row->ipaddr);
             if (IPAddr::IsMatch($pattern, $ipaddr)) {
                 $info = unserialize($row->info);
                 $spammer = false;
                 if (isset($info["spaminfo"])) {
                     foreach ($sso_providers as $provider => &$instance) {
                         if (isset($info["spaminfo"][$provider]) && $info["spaminfo"][$provider]["spammer"]) {
                             $spammer = true;
                         }
                     }
                 }
                 $rows[] = array(htmlspecialchars($ipaddr["ipv4"] != "" ? $ipaddr["ipv4"] : $ipaddr["shortipv6"]), htmlspecialchars(BB_Translate($spammer ? "Yes" : "No")), BB_FormatTimestamp("M j, Y @ g:i A", CSDB::ConvertFromDBTime($row->created)), "<a href=\"" . BB_GetRequestURLBase() . "?action=viewipaddr&id=" . $row->id . "&sec_t=" . BB_CreateSecurityToken("viewipaddr") . "\">" . htmlspecialchars(BB_Translate("View")) . "</a>");
             }
         }
         $table = array("title" => "Search Results", "type" => "table", "cols" => array("IP Address", "Spammer?", "Created", "Options"), "rows" => $rows, "desc" => BB_Translate("The search results for the IP address pattern '%s'.", $pattern));
     } else {
         if (isset($_REQUEST["ipaddr"]) && $_REQUEST["ipaddr"] == "") {