如何设置urlfilter的白名单?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设置urlfilter的白名单?相关的知识,希望对你有一定的参考价值。

RT~~众所周知~这文件一般都要要黑名单优先的,如果设置了白名单优先,不在白名单里的都不能浏览。但是如果一个正常的网站,被误过滤了,这样怎么解决好?[:07:] 右键取消内容过滤,这样的不要说了~这样的话,其它广告都出来了。

opera中文维基说得很明白: http://wiki.operachina.com/Urlfilter.ini优先级设置[prefs] prioritize excludelist=1等于 1 表示黑名单优先,等于0表示白名单优先。默认的黑名单优先级高。 白名单[include]**是通配符,这表示允许所有元素。如果 prioritize excludelist=0,并且白名单中有“*”。 此时的黑名单相当于无效。 黑名单[exclude]这下面的内容属于黑名单,阻止元素后生成的规则和自定义规则,都保存在这。 参考技术A 对于误杀较大的通用规则还是别用了,费点事用较详细的规则吧,用css的话11.01版本是可以屏蔽不下载的,后来的正式版就只能隐藏了 参考技术B 倒是忽略了这方法了~看来只好暂时这样了~我觉得/*gg.*其实不算是误杀大的规则~只不过是像VC52的头像地址有点特殊而已。 参考技术C 我依稀记得OVERRIDE.INI就是URLFLITER的白名单~ 参考技术D there‘s an “include” in Urlfilter.inil ,what's that for?sry for input method wrong --!

如何从 ASP.NET 的白名单中过滤 UrlReferrer?

【中文标题】如何从 ASP.NET 的白名单中过滤 UrlReferrer?【英文标题】:How to filter UrlReferrer from a whitelist in ASP.NET? 【发布时间】:2021-10-10 20:00:14 【问题描述】:

我需要创建一个单独的页面,该页面将成为现有 ASP.NET MVC 网站的一部分,该网站只有在来自允许的网站(Referrer)时才能打开或访问。我们的合作伙伴正在计划 使用 iFrame 加载此页面。此页面允许任何用户快速输入详细信息并保存到 我们的数据库。

示例:www.mysecuredwebsite.com/publicpage

由于这将是一个公开的单页,没有登录,唯一的安全是 仅当引荐来源网址在允许的网站列表中时才允许。

例子:

    www.abc.com www.randomwebsite.com www.amazingsite.com

来自任何其他网站的任何请求都将被重定向到错误页面。

解决这个问题的最佳方法是什么?我正在考虑创建一个将使用的自定义属性 装饰控制器,然后读取 来自 app.config 或任何类型配置的允许站点列表。

或者可能来自 SQLDB,因为该站点使用的是 SQLDB?我认为会经常更改的列表 取决于不断增长的客户数量。它应该易于配置并且不需要 重新部署。

有什么想法吗?谢谢!

【问题讨论】:

【参考方案1】:

你可以使用两种方法

方法一:使用ActionFilterAttribute

方法2:Global.asax文件中使用Application_BeginRequest方法。

注意:最好把允许的url放到数据库里,这样方便修改。

我会解释第一种方法

以下过滤器检查是否允许 UrlReferrer。如果它 不允许,会参考错误页面。

添加 UrlReferrerFilterAttribute

using System.Web.Mvc;
using System.Web.Routing;

namespace yournamespace

    public class UrlReferrerFilterAttribute : ActionFilterAttribute
    
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        
            string urlReferrer = string.Empty;
            if (filterContext.HttpContext.Request.UrlReferrer != null)
            
                urlReferrer = filterContext.HttpContext.Request.UrlReferrer.AbsoluteUri;
                if(!db.UrlReferrerTable.Any(a => a.Url == urlReferrer))
                
                    var values = new RouteValueDictionary(new
                    
                        action = "ErrorPage",
                        controller = "Home"
                    );
                    filterContext.Result = new RedirectToRouteResult(values);
                
                
            
            base.OnActionExecuting(filterContext);
        
    

现在使用

[UrlReferrerFilter]
public ActionResult YourAction()

   //..................
   //..................

【讨论】:

以上是关于如何设置urlfilter的白名单?的主要内容,如果未能解决你的问题,请参考以下文章

nginx的白名单

Linux将端口设置进防火墙的白名单

获取微信openid需要设置白名单吗

在修改阿里云的白名单设置时,ApsaraDB for RDS(MySQL)的令牌错误

如何从 ASP.NET 的白名单中过滤 UrlReferrer?

如何使用千分尺指定我想在spring-boot中使用的指标的白名单