勉強したことのメモ

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

Lightbox.jsでCSP(コンテンツセキュリティポリシー)エラーが発生した際の対応方法

   2024/02/20  JavaScript サーバー

CSP(コンテンツセキュリティポリシー)設定を行っているサーバーでLightboxを使用すると「data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==」がどうのこうのというエラーが発生した。以下に対応方法をメモ。

 

data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==とは

調べてみると1x1pxのblank.gif画像らしい。これをdataURI化して使用している為、今回はCSP設定にひっかかった模様。

 

対応方法

CSP設定を変更すればいいが、今回はサーバー設定変更は出来ない事情があった。なのでペイントツール等で1x1pxのblank.gifファイルを作成してファイルにアップロード。そしてlightbox.jsの以下部分を書き換える。

#書き換え前
<img class="lb-image" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" />

#書き換え後(画像のパスは適宜変更)
<img class="lb-image" src="blank.gif" />

 - JavaScript サーバー

  関連記事

JavaScriptで後から追加した要素にイベントを割り当てる方法と挙動の違いについて
JavaScriptで後から追加した要素にイベントを割り当てる方法と挙動の違いについて

jQueryで後から追加した要素に対してイベントを割り当てる場合、いつもと異なる ...

バニラJavaScript対応の日時ピッカー「Flatpickr」ライブラリの利用方法
バニラJavaScript対応の日時ピッカー「Flatpickr」ライブラリの利用方法

サイト内に日時ピッカーを実装する場合、jQueryの「DateTimePicke ...

JavaScriptの「pako」ライブラリでGzip圧縮したデータをPHPで展開する方法
JavaScriptの「pako」ライブラリでGzip圧縮したデータをPHPで展開する方法

先日、JavaScriptの「pako」ライブラリで文字列やオブジェクト(連想配 ...

JavaScriptでランダムなカラーコードを生成する「RandomColor」ライブラリの利用方法
JavaScriptでランダムなカラーコードを生成する「RandomColor」ライブラリの利用方法

先日PHPでランダムなカラーコードを生成する「RandomColor.php」ラ ...

jQueryにて指定した要素の親要素を削除する方法
jQueryにて指定した要素の親要素を削除する方法

jQueryにて指定した要素の親要素を削除したいケースがあった。通常の場合だと親 ...