勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

jQueryでユーザーが編集可能な文字列をページ上に表示する際にエスケープする方法

  jQuery JavaScript

GETパラメータを取得し、その内容をページ上に表示したいケースがあった。また、ASPを利用したサイトのためPHPが利用不可だった。かといってjQueryのhtml()で出力するとJSのalertとかがそのまま実行されてしまうため危険っぽい。そのためjQueryでエスケープしつつ表示する方法をメモ。

 

対応方法

ソースコード

//GETパラメータが入る変数
const param = 'xxxxx';

//これだとアウト(alertが実行された)
$(`.sample`).html(`${param}`);

//これだとセーフ(alertが実行されなかった)
$(`.sample`).text(`${param}`);

JavaScriptの場合

innerHTMLでもscriptタグが直接入力されている場合は実行されないらしい。実際に試してみたところ実行されなかった。

 - jQuery JavaScript

  関連記事

AjaxにてHTTPリクエストメソッドをDELETE / PUTで送信する方法
AjaxにてHTTPリクエストメソッドをDELETE / PUTで送信する方法

あるAPIにAjaxでリクエストする際、GET / POSTではなくDELETE ...

オリジナルのjQueryプラグインを作成する方法
オリジナルのjQueryプラグインを作成する方法

オリジナルのjQueryプラグインを作ってみたかった。というのも大抵のものはググ ...

サムネイルをクリックすると拡大画像を表示できる「Lightbox2」の利用方法
サムネイルをクリックすると拡大画像を表示できる「Lightbox2」の利用方法

画像をサムネイル表示してクリックしたら大きく表示するというのがLightboxで ...

jQueryからAjax経由でPHPにリクエストしCookieを操作する方法
jQueryからAjax経由でPHPにリクエストしCookieを操作する方法

先日PHPでCookie保存時にHttpOnly / Secure属性を設定する ...

jQueryのプラグインで簡単にイメージスライダーを作成(bxslider)
jQueryのプラグインで簡単にイメージスライダーを作成(bxslider)

画像のスライダーを作る時に便利なプラグインであるbxslider。簡単に使えるし ...