2017-01-05 4 views
1

Express에 의한 Security Best Practices에 따르면, 나는 Helmet을 구현했습니다. 나는 여러 미들웨어 (cookie-session, morgan, body-parser 및 인증을위한 다양한 자체 제작 미들웨어)를 사용하고 있습니다으로미들웨어 주문 Express

, 지금은 어떤 순서로 내가 그들을 넣어해야 궁금하네요.
미들웨어의 보안 및 주문을위한 모범 사례 가이드가 있습니까?

+1

일반적인 베스트 프랙티스가 무엇인지 모르겠습니다. 미들웨어에 달려 있다고 생각합니다. 예를 들어 Morgan을 먼저 배치하여 모든 요청을 기록하고 건너 뛰지 않을 수 있습니다. –

+0

@EvanHahn 예,하지만 '헬멧'은 무엇입니까? 잠재적 인 취약점에 대한 모든 요청을 확인하면서 '모건 (morgan)'이전에 있지 않아야합니까? –

+1

[Helmet GitHub 문제] (https://github.com/helmetjs/helmet/issues/144)에서 더 이야기 할 수 있습니다. –

답변

2

귀하의 경우 헬멧을 첫 번째 미들웨어로 사용하고 싶습니다.

가장 중요한 이유는 HSTS 처리입니다. 이렇게하면 일반 HTTP 대신 사용자가 사이트의 HTTPS 버전을 사용하도록 강제 수행되는 비트가 처리됩니다.

처음으로 HTTPS 사이트에서 헬멧을 나열하지 않으면 사용자가 HTTP를 통해 트랜잭션을 시작하여 악의적으로 사용할 수있는 웹 응용 프로그램에 중요한 정보를 전달할 수 있기 때문에 흥미로운 취약점이 발생할 수 있습니다. 그런 다음 요청이 나중에 HTTPS로 리디렉션됩니다. 헬멧 (좋지 않음).

이것은 흥미로운 질문이며, 이것은 분명히 Helmet 문서에 추가되어야합니다.

+1

GitHub의 헬멧 레포에서 문제를 일으킬 것입니다. –

+2

새로 만든 [Helmet GitHub 문제] (https://github.com/helmetjs/helmet/issues/144)를 참조하십시오. –

+1

최고 멋진. 정말 빠른 해상도. +1 멋진 프로젝트/훌륭한 관리자. – rdegges