kintoneを利用する上での注意点まとめこんにちは、エミックの松尾です。Referrer-PolicyというHTTPヘッダーについて教えてもらったことがきっかけで、試しにkintone用のプラグインを作成してみました。kintone」の概要について記しています。Referrer-PolicyヘッダーについてHTTPのReferrer-Policyヘッダーは、Webブラウザーが送信するリファラー情報を制御するために策定されたヘッダーです。リファラー情報をリクエストにどれだけ含めるかを制御します。(https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Referrer-Policyより引用)リファラー情報は、Refererヘッダーで送られる情報を指します。Refererヘッダーにはリンク元のアドレス情報が含まれており、これによりWebサイトの管理者や開発者はサイト訪問者がどこから辿って来たかを識別できます。Referrer-Policyヘッダーを利用すると、リファラーに含める情報を調整したり、外部のWebサイトにリファラー情報を送信しないように挙動を変えることなどが可能になります。kintoneでリンクをクリックした時の挙動kintoneには、Webサイトのアドレスや電話番号、メールアドレスを表示するのに利用される「リンクフィールド」と呼ばれるフィールドがあります。「https://」で始まるWebサイトのアドレスをリンクフィールドに入力しておいた状態でリンクをクリックすると、別タブでページが開きます。その際、WebブラウザーはRefererヘッダーをリンク先のWebサイトに送信します。kintoneのURLが「example.cybozu.com」である場合には、サブドメイン「example」を含めた形でリファラー情報が送信されることになります。サブドメインは、kintoneにログインするときに必要となる情報の1つという捉え方もできます。kintoneには、IPアドレス制限やBasic認証、有償のセキュアアクセスなど、適切にセキュリティを高めるための機能も用意されており、サブドメインを知られてしまっただけで即危険ということはありません。必要なければサブドメインを第三者にはできるだけ知られたくないというのも人情ではないでしょうか。kintoneでリファラー情報送信ポリシーを設定したいReferrer-Policyヘッダーを利用してリファラー情報を極力送らないポリシーに変更できないかと思い、このヘッダーについて調べてみると、値に「same-origin」を指定した場合の挙動についての説明がMozillaのページに見つかりました。W3Cのページは英語なので、今回は日本語で解説されていたMozillaのページを紹介したいと思います。同じオリジンにはリファラーが送信されますが、オリジン間リクエストではリファラー情報が送信されません。(https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Referrer-Policyより引用)「same-origin」を指定すれば外部サイトにリファラー情報を送信しなくなることが分かりましたが、そもそもkintoneはReferrer-Policyヘッダーを送出していないようです(2020年1月現在)。Mozillaのページを読み進めてみると、HTML内にmeta要素を記述するという方法でも、Referrer-Policyヘッダーを送出させることと同様の効果を得られることが分かりました。content="same-origin">」)が自動的に追加されるようなkintoneプラグインを作成してみました。kintone」は、リファラー情報の外部への送信を極力抑制するリファラーポリシーを設定する、kintone用のプラグインです。リファラーポリシーとして「same-origin」を指定した場合の挙動となるように調整しており、プラグインをインストールしたアプリにおいて、リンク先の外部サイトにリファラー情報を極力送信しないようにkintoneを調整できるようにします。中身はとてもシンプルなものであり、習作として作ったものですが、それなりに有用なものではないかと思います。何かお気付きの点があれば是非ご指摘ください。kintoneのダウンロードプラグインはGitHub(https://github.com/emic/referrer-policy-for-kintone/releases/latest)からダウンロードできます。Zip形式の圧縮ファイルをダウンロードしてください。ライセンスはMITライセンスです。プラグインをインストールしてアプリを更新するだけで機能が有効になります。現在のところ、プラグインで何か設定を行う必要は特にありません。kintoneの利用を解除してください。same-origin”に対応していないWebブラウザーを使用している場合には、本プラグインの効果はありません。Edgeを利用している場合には、リファラー情報の外部への送信は抑制されません(下図はhttps://caniuse.com/#search=Referrer-Policyのスクリーンショット)。(2020年2月21日追記・訂正:iOSのSafariを利用している場合にリファラー情報の外部への送信は抑制されないと当初記載していましたが、これは誤りでした。same-origin”にすでに対応していたため、iOSのSafariに関する記述を上の段落から削除しました。kintoneの概要について解説しました。Referrer-Policyヘッダーは、一部のWebブラウザーが未対応であるものの、多くのブラウザーが対応するようになってきており、リファラー情報の送信を制御できるようになってきています。kintoneを組み込むことで、可能な限りサブドメイン情報を外部サイトに送信しないように調整できるので、より安心してkintoneを利用できるようになるかと思います。ダウンロード#kintoneこの記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。株式会社エミック代表取締役。最近はFileMakerに限らずkintoneの導入支援にも取り組んでいます。アプリデザインスペシャリスト(2020年2月)。