kintoneの添付ファイルをダウンロードされたくない!

  1. Home
  2. /
  3. ブログ
  4. /
  5. kintoneカスタマイズ
  6. /
  7. kintoneの添付ファイルをダウンロードされたくない!

とあるお客様より、次のような依頼がありました。
「社内規定をまとめているアプリで添付ファイルのPDFを閲覧のみでダウンロードさせたくない!」とのご要望。

たしかに、閲覧表示系のプラグインはあるものの、右クリック(コンテキストメニュー)や、開発者ツールなどを無効化するツールはあまり聞いたことがないな…と思い早速調べてみることに。

kintoneの添付ファイルのダウンロードリスク

通常、kintoneでは、添付ファイルをクリックするとそのままダウンロードされることがほとんどです。
ここにダウンロード制限をかけたい場合、多くの方は閲覧表示系のプラグインを導入しているのではないでしょうか?一見するとダウンロードを防げているようにも思われます。

しかし、これだけでは不十分です。

ダウンロード手段

では、どのような手段でダウンロードできてしまうのでしょうか?

1.右クリックなどでコンテキストメニューを開き、新しいタブを開く
  もちろん、ドラッグで添付ファイルを新しいタブとしてブラウザーのバーに持っていくことでもダウンロードできます。

2.開発者ツールから添付ファイルのリンクを探して保存
  あえて詳細は書きませんが、エンジニアやWebアプリ開発者であれば簡単にできますよね。

この他にもダウンロードできる手段はありますが、一般的なユーザーのスキルから考慮するとこのぐらいでしょうか。
ここからわかるように、ドラッグ操作、コンテキストメニューと開発者ツールだけは、制限をかけなければなりません。

どのようにして制限をかけるか?

当然ではありますが、kintoneのJavaScript APIにはこれらを制限するものはありません。
これは、kintoneの機能ではなく、ブラウザの機能を用いてダウンロードをしているからです。
ではどのようにして制限をかければよいでしょうか?

addEventListenerを用いて制限をかける

DOM API に含まれる標準メソッドの「addEventListener」を使うという方法です。
これは、ユーザーのマウスによるクリックやキーボードからの入力といった様々なイベント処理を実行するメソッドです。

例えば、コンテキストメニューの制限をかけたい場合は、contextmenuイベントに対して制限をかけます。

document.addEventListener('contextmenu', function(e) {
    e.preventDefault();
    e.stopPropagation();
    alert('このアプリでは右クリックが無効化されています。'); // 右クリックした時に警告を出す。
    return false;
}, true);

このほかにも、ドラッグ操作を防ぎたいのであれば、dragstart(ドラッグ開始イベント)に対して制限をかけたりすれば、ダウンロードを防ぐ手段となります。

操作がされた場合の例。明確に禁止されていることを伝えるのも大切です。

まとめ

完全にダウンロードを防ぐというのはなかなかに難しいですが、一般ユーザーの知っている操作に限定するのであれば、コンテキストメニューやドラッグを制限するだけでも効果はありそうです。

エーアイティ研究所では、基本機能、プラグインはもちろんのこと、カスタマイズのご相談もお待ちしております。kintone化をあきらめていた業務などがございましたら、お気軽にお問い合わせください。

チーム向けメール共有ツール
『メールワイズ』

代表メールアドレス(info@ など)への問い合わせや、営業・サポート対応メールをチームで共有・管理するためのサービスです。

大規模組織向けグループウェア『Garoon』

部門・拠点・役職が多い企業や、複雑な承認フロー・全社規模の情報共有が必要な組織向けのグループウェアです。

中小企業向けグループウェア
『サイボウズ Office』

スケジュール管理、掲示板、ワークフロー、ファイル共有など、社内の情報共有をスムーズにするためのグループウェアです。

業務改善プラットフォーム『kintone』

日報管理・顧客管理・案件管理・問い合わせ管理など、現場の業務に合わせたアプリをノーコード・ローコードで構築できるクラウドサービスです。