-
Notifications
You must be signed in to change notification settings - Fork 43
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
egg-security中通过中间件设置一些安全头对egg-static不起作用,看起来是egg-static的中间件先执行直接响应了body, 导致 egg-security的中间件没机会执行,这个顺序有办法调整么? #85
Comments
对,static 中间件比 security 要早加载,可能是一个问题。 |
这个考虑后续版本调整这个顺序么 |
是需要对 html 还是 js 附加的安全头? 前者的话,不推荐用 egg-static 托管 html,应该用 egg-view,通过 controller 去渲染一个 html, 这样就会经过 security 了。 |
html用了egg-view没有问题 主要是js和css这些静态资源 内部有一些安全扫描会扫到js文件那些请求缺失一些安全策略的头,项目原因无法使用cdn |
可以 PR 改下 https://github.com/eggjs/egg-static/blob/master/app.js 可能得加个配置开关, cc @fengmk2 怎么看? |
可以加个开关,改默认顺序我担心有 breaking change |
这个问题怎么说 现在egg-staic下的页面请求不过egg-security,这些请求都有csrf的风险 |
大概什么时候能处理 现在安全问题抓的紧 有啥临时方案调整这两中间件顺序么 |
这样写是可以调整顺序的 configDidLoad() {
const { app } = this;
const index0 = app.config.coreMiddleware.indexOf('bodyParser');
const index1 = app.config.coreMiddleware.indexOf('securities');
const arr = app.config.coreMiddleware.slice(index0 + 1, index1 + 1);
app.config.coreMiddleware.splice(index0 + 1, arr.length);
const index2 = app.config.coreMiddleware.indexOf('static');
app.config.coreMiddleware.splice(index2, 0, ...arr);
} |
我也遇到了这个问题。 |
No description provided.
The text was updated successfully, but these errors were encountered: