Office アドイン

Office 用アプリはソースコードが丸見え!?

サーバーサイドの処理はともかくとして、Officeドキュメントにアクセスする部分はJavaScriptで書くことになるので、基本的にはOffice用アプリのソースコードは丸見えです。
(あくまでもHTML + JavaScript構成のアプリの場合)

そのため、ユーザーにソースコードを見られたくない場合には「Microsoft Ajax Minifier」等のソースコード軽量化ツールで難読化しておくことをお薦めします(Microsoft Ajax Minifierの使い方は「Microsoft Ajax MinifierでJavaScriptを縮小化しよう」参照)。

下記は上が軽量化前のソースコード、下が軽量化後のソースコードになりますが、その差は一目瞭然です。

Office.initialize = function(reason){}
$(function(){
    $("#datepicker").datepicker({
        beforeShowDay: function(date) {
            var result;
            var dd = date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + date.getDate();
            var hName = ktHolidayName(dd);
            if(hName != "") {
                result = [true, "date-holiday", hName];
            } else {
                switch (date.getDay()) {
                    case 0:
                        result = [true, "date-holiday"];
                        break;
                    case 6:
                        result = [true, "date-saturday"];
                        break;
                    default:
                        result = [true];
                        break;
                }
            }
            return result;
        },
        onSelect: function(dateText, inst) {
            Office.context.document.setSelectedDataAsync(dateText);
        }
    });
});
Office.initialize=function(){},$(function(){$("#datepicker").datepicker({beforeShowDay:function(n){var t,r=n.getFullYear()+"/"+(n.getMonth()+1)+"/"+n.getDate(),i=ktHolidayName(r);if(i!="")t=[!0,"date-holiday",i];else switch(n.getDay()){case 0:t=[!0,"date-holiday"];break;case 6:t=[!0,"date-saturday"];break;default:t=[!0]}return t},onSelect:function(n){Office.context.document.setSelectedDataAsync(n)}})})

もっとも、軽量化してコードを読みづらくしたところでコードが丸見えなのは変わりないし、難読化したことで動作しなくなる場合も有るので必ずしも難読化することが良いとは限らないのですが、そのままコードを公開するよりは多少はマシになるのではないかと思います。気休め程度にはなります。

関連記事

  1. Office関連

    Excel 2013 新関数一覧

    「関数一覧(Excel 2010)」と「関数一覧(Excel 2013…

  2. Office関連

    サジェスト機能を利用したWord用ツール

    「Webサービスのサジェスト機能についてまとめてみました。」でWebサ…

  3. Office関連

    [Office 2013]SkyDriveを無効(非表示)にする。

    「Office 2013 SkyDrive 無効」というキーワードで検…

  4. Office関連

    新しくなったMZ-Tools

    みなさんは「MZ-Tools」というツールをご存知でしょうか?…

  5. Office アドイン

    [Office用アプリ]カレンダーから日付入力

    カレンダーから日付を選ぶだけで選択中のセルに日付を入力できるコンテンツ…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP