Angular(2)XSSとCSRFを処理します。これらの攻撃も処理しますか?その場合、この保護を使用するには何をしなければなりませんか?そうでない場合、すべてを処理する必要がありますか?私のサーバーでこれらの攻撃、またはフロントエンドでTypeScriptを使用して何らかの形で?
「withCredentials: true
"、しかし、私はこのコードをどこに置くべきか、それがそれでさえあれば、私が探しているものがよくわかりません。
https://angular.io/ のWebページでは、これについて何も見つかりませんでした(または見逃しました)。
Angular2はビルトインを提供し、デフォルトで有効*、anti[〜#〜] xss [〜#〜] およびCSRF/XSRF保護。
DomSanitizationService は、[〜#〜] xss [〜#〜]を防ぐために危険なビットを削除します。攻撃。
CookieXSRFStrategy クラス(XHRConnectionクラス内)は、CSRF/XSRF攻撃を防止します。
*CSRF/XSRF保護はクライアントでデフォルトで有効になっていますが、バックエンドがXSRF-TOKENは、ユーザーが認証するときにランダムな値を使用します。詳細については、 Cookie-to-Header Token pattern をご覧ください。
更新:公式のAngular2セキュリティドキュメント: https://angular.io/docs/ts/latest/guide/security.html (編集の提案をしてくれたMartin Probstに感謝!)。
Angularで言及されているサーバー側の場合、Expressを使用して処理できるCSRFは次のとおりです。
app.use(express.csrf())
app.use(function (req, res, next) {
res.cookie('XSRF-TOKEN', req.session._csrf);
res.locals.csrftoken = req.session._csrf;
next();
})
ただし、新しいHttpClientXsrfModuleがまだ必要かどうかはわかりません。クライアント側でapp.moduleに以下を追加するだけで十分な場合があります(ただし、確認する必要があります)。
HttpClientXsrfModule.withOptions({
cookieName: 'XSRF-TOKEN',
headerName: 'X-XSRF-TOKEN'
})