File tree Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change 1
1
---
2
2
title : セキュリティ
3
- updated : 2019-11-18
3
+ updated : 2020-02-05
4
4
type : guide
5
5
order : 504
6
6
---
@@ -11,6 +11,19 @@ order: 504
11
11
12
12
新たな脆弱性の発見はめったにありませんが、常に Vue とその公式ライブラリの最新バージョンを使用し、アプリケーションのセキュリティを可能な限り維持することをお勧めします。
13
13
14
+ ## ルール No.1: 信頼できないテンプレートを絶対に使わない
15
+
16
+ Vue を使うときの最も基本的なセキュリティルールは、** 信頼できないコンテンツをコンポーネントのテンプレートとして絶対に使わない** ということです。そうすることは、あなたのアプリケーション内で任意の JavaScript 実行を許してしまうことと同じです。さらに悪いことに、コードがサーバーサイドレンダリング中に実行された場合には、サーバー側の欠陥につながります。例えば、次のような使い方です:
17
+
18
+ ``` js
19
+ new Vue ({
20
+ el: ' #app' ,
21
+ template: ` <div>` + userProvidedString + ` </div>` // 絶対にしてはいけない
22
+ })
23
+ ```
24
+
25
+ Vue のテンプレートは JavaScript にコンパイルされ、テンプレート中の式はレンダリング処理の過程で実行されます。式は特定のレンダリングコンテキストで評価されますが、潜在的にはグローバルに実行される複雑な実行環境となるため、Vue のようなフレームワークでパフォーマンスの非現実的なオーバーヘッドを受けることなく悪意のあるコード実行を完全に防ぐことは困難です。この手の問題を回避する最も直接的な方法は、完全にあなたの管理下にある信頼されたコンテンツだけを Vue テンプレートのコンテンツにすることです。
26
+
14
27
## Vue が行っているセキュリティ対策
15
28
16
29
### HTML コンテンツ
You can’t perform that action at this time.
0 commit comments