public BlockedReferralCollection FetchAll()
 {
     BlockedReferralCollection coll = new BlockedReferralCollection();
     Query qry = new Query(BlockedReferral.Schema);
     coll.LoadAndCloseReader(qry.ExecuteReader());
     return coll;
 }
예제 #2
0
 protected void Application_PostAuthenticateRequest(object sender, EventArgs e)
 {
     // If the referrer url is marked as blocked then redirect the user to another location
     // Check only pages referred by some website, pages referred by external hosts, and requests for .aspx pages
     if (Request.UrlReferrer != null && Request.UrlReferrer.Host != Request.Url.Host && Request.PhysicalPath.EndsWith(".aspx"))
     {
         BlockedReferralCollection blockedReferrals =
             BlockedReferralCache.GetBlockedReferrals(HostCache.GetHost(HostHelper.GetHostAndPort(Request.Url)).HostID);
         if (blockedReferrals.Exists(
                 delegate(BlockedReferral referral) { return(Request.UrlReferrer.Host.Contains(referral.BlockedReferralHostname)); }))
         {
             Server.Transfer("~/Pages/Docs/SpamReferral.aspx");
         }
     }
 }
        public static BlockedReferralCollection GetBlockedReferrals(int hostID)
        {
            CacheManager<string, BlockedReferralCollection> cache = GetBlockedReferralCache();

            string key = GetCacheKey(hostID);

            if (cache[key] == null)
            {
                Query blockedReferralQuery = BlockedReferral.CreateQuery().WHERE(BlockedReferral.Columns.HostID, hostID).OR(BlockedReferral.Columns.HostID, Comparison.Is, null);

                BlockedReferralCollection blockedReferrals = new BlockedReferralCollection();
                blockedReferrals.LoadAndCloseReader(blockedReferralQuery.ExecuteReader());

                cache.Insert(key, blockedReferrals, 3600);
            }

            return cache[key];
        }
예제 #4
0
        public static BlockedReferralCollection GetBlockedReferrals(int hostID)
        {
            CacheManager <string, BlockedReferralCollection> cache = GetBlockedReferralCache();

            string key = GetCacheKey(hostID);

            if (cache[key] == null)
            {
                Query blockedReferralQuery = BlockedReferral.CreateQuery().WHERE(BlockedReferral.Columns.HostID, hostID).OR(BlockedReferral.Columns.HostID, Comparison.Is, null);

                BlockedReferralCollection blockedReferrals = new BlockedReferralCollection();
                blockedReferrals.LoadAndCloseReader(blockedReferralQuery.ExecuteReader());

                cache.Insert(key, blockedReferrals, 3600);
            }

            return(cache[key]);
        }
 public BlockedReferralCollection FetchByQuery(Query qry)
 {
     BlockedReferralCollection coll = new BlockedReferralCollection();
     coll.LoadAndCloseReader(qry.ExecuteReader());
     return coll;
 }
 public BlockedReferralCollection FetchByID(object BlockedReferralID)
 {
     BlockedReferralCollection coll = new BlockedReferralCollection().Where("BlockedReferralID", BlockedReferralID).Load();
     return coll;
 }