表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

117/210

XSS対策や"{{}}"などの表示の方法

アプリ制作教材アプリを作っているわけです。


サンプルアプリを作るのは楽しいのですが、多少は技術的説明を書かない訳には行かない訳で四苦八苦しています。

(ソースだけ寄越せという方も圧倒的に多いかもですが)


さて、説明だけならともかく、Angularに関係するようなコードやXSSスクリプトと疑われそうなソースを表示するのは、かなりマズいです。


特にAngular関係の部分はビルド自体通らないので絶対に対処しないとマズいです。


もっと良い方法があるかもしれませんが、対処の一例をご紹介です。


例1:html内に"{{strText1}}"を記述する必要があるがエラー扱いされる。


解説1:

"{{strText1}}"と言うのは、strText1と言う変数の内容をHTML上に自動的に表示させるための記述方法なのですが、それを説明するにはどうするか?と言う問題です。


今回は2つの変数、stSt="{{"とstEn="}}"を用意して、{{stSt}}strText1{{stEn}}と書きました。


例2:ソースコードの表示時にXSSスクリプトの疑いは避けたいが、面倒な事はしたくない。


解説2:

XSSスクリプトとはHTMLを動的に生成する際に、埋め込んだスクリプトまで実行し、色々と良からぬことが出来てしまうような、そんなコードです。


初めて知ったのですが、幸いにしてAngularにはこの対策をする方法がありまして、以下のような記述で避けることが出来ました。


①.ts側に"chp1_ts"と言う変数を用意して、ソースコードをセットする。

②.html側で以下のように記述する。

<p>タグの場合

<p [innerHTML]="chp1_ts"></p>


参考サイト

Angularでhtmlエスケープをせずにhtmlをそのまま表示させる

https://pgmemo.tokyo/data/archives/1899.html

評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ