勉強したことのメモ

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

  関連記事

MySQLにてdatetime型のカラムを整形し「年月日のみ形式」または「秒のみ省いた形式」で表示する方法
MySQLにてdatetime型のカラムを整形し「年月日のみ形式」または「秒のみ省いた形式」で表示する方法

MySQLにてdatetime型のカラムに登録日時等を格納しており、管理画面側で ...

iphoneでSSH接続するアプリ「iTerminal - SSH Telnet Client 」について
iphoneでSSH接続するアプリ「iTerminal - SSH Telnet Client 」について

iPhoneでSSHクライアントアプリを使用する必要があった。以下に経緯等のメモ ...

要素の点滅
要素の点滅

やりたかった事はaタグ内で囲まれている部分を点滅。 <blink>だ ...

PHPでtwitterとfacebookのいいねやフォローのカウント数を取得する方法
PHPでtwitterとfacebookのいいねやフォローのカウント数を取得する方法

PHPでtwitterとfacebookのいいねやフォロー数を取得して表示させた ...

Windows11で秀丸を使用している際タスクバーのアイコンクリック時にタブ選択を解除する方法
Windows11で秀丸を使用している際タスクバーのアイコンクリック時にタブ選択を解除する方法

Windows11でテキストエディタの秀丸をタブモードで使用している際、タスクバ ...