勉強したことのメモ

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

HTMLとJavaScriptのソースコードの暗号化(難読化)

   2024/02/25  JavaScript HTML

サーバーサイドはソースを見られないけどクライアントサイドはソースを見られるので、簡易にでも暗号化できないのか? とふと思い調べたのでメモ。「クライアントサイドで実行可能ということは、クライアントは解釈可能な言語。よって完全に隠すのは無理」がまず結論。その上で簡易的な暗号化方法のメモ。

 

参考サイト

http://q.hatena.ne.jp/1177061214

まあ簡易でもいいので、と思って探したら楽なのがあった。

ソースの暗号化

http://jsajax.com/Articles/SourceCodeEncrypter/859

尚、出力されたソースを見たところunescapeという見たことの無い関数が。

参考サイト

https://developer.mozilla.org/ja/docs/JavaScript/Guide/Predefined_Functions/escape_and_unescape_Functions

16進エンコーディングの値を文字列にして返す関数とのこと。

どの道、暗号化しても解読は可能なのでどうしても内部の人間だけが見られるほうが良いのであれば、以下のようにPHPでコメント入れるとかのほうが良さそう。

<script>
  <?php $com = 'ここからコメント';?>
 /* javascriptの処理 */
  <?php $com = 'ここまでコメント';?>
</script>

 

2013/12/21追記

↓JSの難読化はここいいよ、と上司から教わったのでメモ。

http://dean.edwards.name/packer/

 - JavaScript HTML

  関連記事

mp3ファイルのアップロードと再生方法

mp3ファイルをformでアップロードしたかったのと、Webサイト上で再生したか ...

フォームでカラーコードを入力したい際にプラグイン無しでピッカー機能を搭載する方法

あるフォームの項目でカラーコードを入力したいというケースがあった。だいぶ前に同じ ...

HTML5のGeolocation APIで位置情報を取得してGoogleMapAPIで使用する方法

GPSみたいな位置情報を取得しGoogleMapAPIでその場所を反映させたかっ ...

readonlyについて

日付ピッカーとかをテキストボックスに入れた際に、 ピッカー入力とあわせて直接入力 ...

formのinput="file"でディレクトリを選択させ、ディレクトリ内のファイルを全てアップロードする方法

フォームで複数のファイルをアップロードしたい場合、input="file"を複数 ...