STERFIELD

JSONデータの難読化について調べてみました

JSONデータの難読化について調べてみました

WebGLなどCanvas上でグラフィックを扱う場合、

JSON化されたデータを読み込んで、表示するという手順がよく使われることになると思います。

このJSON化されたグラフィックデータなのどデータには、ユーザーにダウンロードされて流用されることを避けたいものも多いかと思います。

Flashなどのプラグインを使った場合は、コードをユーザーに見られないようにすることができるので、このリスクを避けられますが、

HTML5でJSONを扱う場合はJavaScriptを使って読み込むことになるため、

ユーザーがHTMLやJavaScriptからデータの場所をたどってJSONデータがダウンロードされるリスクが高まります。

 

そこで、JSONデータを難読化して、簡単にはJSONデータが利用できないような仕組みについて、

調べて実際にやってみました。

 

↓こちらが作ってみたものです。

DEMO

 

方法

1.JSONコードを暗号化する。

参考サイト: JavaScript難読化のためのヒント

今回はこちらの記事を参考に、暗号化を試みてみました。

 

2. 暗号化前のJSON本体はPHPで読み込み、URLを伏せる

暗号化前のJSONデータはPHPで記述したURLからアクセスするようにして、

ユーザーからは直接URLがわからないようにしました。

 

3.暗号解読のJavaScriptコードも暗号化する。

JavaScriptコード自体も暗号化して、より難読生を高めます。

ただ、暗号解読のコードは記述せざるを得なかったりするので、

飽くまでも、解読するための手間を多くするのが限界です。

 

その他参考サイト

シーザー暗号 – Wikipedia

PHPリファレンス(ord())

 

Author Profile

著者近影

NINOMIYA

Webデザイナー兼コーダー出身のフロントエンド開発者です。 UXデザインやチーム開発の効率化など、勉強中です。

SHARE

合わせて読みたい