-
Notifications
You must be signed in to change notification settings - Fork 578
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bug(@midwayjs/security): 期望对csrf中referer进行请求方法拦截的配置 #2957
Comments
这个感觉和 csrf 关系不大啊,就是普通的 refer 验证? |
嗯,普通的 refer 验证 建议单独一个 refer 的配置,不和csrf混用开关了 |
是的,会有 refer 策略 |
我的想法是加个refer 策略配置如下: security: {
referer: {
enable: true,
value: ['127.0.0.1:3000'], // 必传,拦截的地址域
// 没有或不传method默认全部拦截
method: ['get', 'optons'], // 可选,指定拦截的请求方法
},
} security包里中间件加个 refer.ts 去处理 referer部分,csrf中的type:any/all可去掉了 |
目前 security 更多的是安全头的配置,后面会加的是 referrer-policy/p3p,你要的 referrer 还不是策略的一种,是请求的一些自定义逻辑,建议加一个全局中间件使用逻辑进行处理。 |
我先用中间件处理,不过我是希望 security 中可以把 referer 的配置加上允许请求方法拦截自选,安全请求范围其中的 get option 也属于防盗链要求 |
周一上班团队讨论一下。 |
referer 我感觉不应该放在安全里面,考虑搞个反爬组件?再把“css字体混淆反爬”功能加上?在 SSR 反爬领域可以用上 |
referer 防盗链控制,web安全漏洞接口扫描会有提示。 反爬应该需要根据业务逻辑进行定制,css字体混淆这个属于自定义的功能。 |
csrf.middleware.ts 可以拆开csrf.middleware.ts和referer.middleware.ts refererPolicy.middleware.ts 可以归类到 referer.middleware.ts csrf 防跨站请求伪造, referer防恶意请求。 methodNotAllowed.middleware.ts 感觉没必要,都是通过@Methoad声明的,且允许两三个@Methoad。 就算 @ALL 表示能接受以上所有类型的 HTTP Method,可以在对routerOptions拓展一个属性ignoreMethod来限制
|
需求描述
关于这个referer的允许请求方法能不能配置一个控制放行方法的参数, 如:refererMethodIgnores
有些时候需要配置接口只对某个站点域名开放,get,optons请求都不允许
issues #2916 ,版主他请求接口应该是get的请求,所以通过refere没r拦截下来
CWE-293 使用Refer域进行认证
配置步骤
组件
@midwayjs/security
根据Midway官网配置config.default.ts
The text was updated successfully, but these errors were encountered: