このアプリを開発している途中の話です。
概要
JavaScript のソースコード、読まれたくないですよねぇ。
ウェブアプリにおいて、フロントエンド処理のソースコードは、読まれないようなところに隠しておきたい、ただユーザーが読み取れないといけないという処遇に対するジレンマを抱えたものになっているはずです。さらに今回はPWAにも対応させたい。この要求をどうにかするために、私が試行錯誤した結果を載せます。
まずは検索
検索すると、次のような記事が出てきます。
この記事は要するに、PHP を用いて、「正しいところから POST リクエストが飛んできた場合にのみ正しいソースを返す」という構造になっています。しかし、この場合、「オフラインになる直前に、誤った方法でソースにアクセスしようと試みた結果、キャッシュにダミーが登録され、PWA がうまく動作しない」という問題が発生します。どうしましょう?
解決策
そこで方針を変え、「読まれない」のではなく「読んでも分からない」ようにしよう!となりました。言い換えると、ソースコードをできるだけ複雑にし、その結果として解読コストが新規開発コストを上回るような形にすれば良い、という訳です。そこで役に立つのがこのサイトです。
「JavaScript Obfuscator Tool」というサイトです。その名の通り、JavaScript のコードを難読化するツールになります。保存しておいたソースを貼付けて、「Obfuscate」ボタンを押すと、難読化されたコードが返ってきます。すごいね
元のコードは別のところにちゃんと保管しておきましょう。難読化されたコードは、自分でも読むことが非常に難しいので。
このツール、ついでに特定のドメインでのみ動くようにする機能や、コードの一部改変を防ぐ機能を有効化することができます。仮ドメインからの移行時に試してみましたが、ちゃんと機能していました。
さいごに
最近のツールは優秀ですね。賢く使っていきましょう。