勉強したことのメモ

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

  関連記事

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

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

同一フォーム内でクリックするボタンによって送信先を変更する方法

同一フォーム内で「登録する」ボタンと「プレビュー」ボタンを用意し、「登録する」を ...

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

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

formでファイルを選択した際にファイル名やサイズ、形式を調べる方法

フォームで画像などをアップロードする際に「ファイルサイズが大きすぎないか?」「拡 ...

Googleカレンダーに追加する(予定を登録する)リンクを設置する方法

あるサイトに「Googleカレンダーに追加する(予定を登録する)ボタンを設置して ...