回答編集履歴

1

悪意のある場合に偏りすぎた内容になっていたので、意図しない場合のコメントを追記

2017/02/22 03:52

投稿

nayuneko
nayuneko

スコア133

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- フロントエンドは様々な環境(OSやブラウザ、通信環境など)から利用される可能性があるので、正常なデータが送られてくる保証はどこにもありません。悪意を持った人が改ざんしたデータやセキュリティホールをつくデータ(SQLインジェクションなど)を送ってくる可能性もあります。
5
+ フロントエンドは様々な環境(OSやWebブラウザ、通信環境など)から利用される可能性があるので、正常なデータが送られてくる保証はどこにもありません。悪意を持った人が改ざんしたデータやセキュリティホールをつくデータ(SQLインジェクションなど)を送ってくる可能性もあります。悪意がなくとも全環境で検証するのは不可能なので、意図しないデータが送られてくる可能性は大いにありえます。
6
6
 
7
7
  逆にバックエンドは環境が一定ですので、同じ入力値だったら同じ結果が返ってくることが期待できます。
8
8
 
@@ -12,7 +12,7 @@
12
12
 
13
13
 
14
14
 
15
- フロントエンドから送られてくるデータはユーザが自由に入力でき、極端に言えばバリデーション処理そのものを無効化したり、データが改ざんされて送られてくる可能性も大いにあり得ます。
15
+ フロントエンドから送られてくるデータはユーザが自由に入力でき、極端に言えばバリデーション処理そのものを無効化したり、データが改ざんされて送られてくる可能性も大いにあり得ます。JavaScriptの場合、Webブラウザによって対応状況がまちまちなので加工したデータが意図しないデータになる可能性も捨てきれません。
16
16
 
17
17
  特にデータベースにデータを登録する際にはバックエンド側で**必ず**バリデーション処理を行うので、フロントエンドから送られてくるデータは無加工のデータの方がバリデーション処理やデータ整形がやりやすいと思います。
18
18
 
@@ -36,4 +36,4 @@
36
36
 
37
37
  jQueryで自力でDOM操作する場合は無加工のデータだとしんどいのである程度バックエンドで加工した方がいいと思いますが…
38
38
 
39
- またフロントエンドで展開するのがしんどいデータ(例えばforが何重にも重なっていたりするデータ)ですと端末のスペック依存となり表示速度にも関わりますので、そういう場合はある程度バックエンド加工した方がよいと思います。
39
+ またフロントエンドで展開するのがしんどいデータ(例えばforが何重にも重なっていたりするデータ)や複雑なデータは端末のスペック依存となり表示速度にも関わりますので、そういう場合はある程度バックエンド加工した方がよいと思います。