1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

「URLで共有」機能を作るときに絶対にやるべきセキュリティ設定

Posted at

結論

あるURLを知っている人だけが見れる共有機能を作るときには、noindexディレクティブを使用すべき。そうしないとGoogle検索等の結果に表示されてしまい、URLを通じた限定共有機能として意味をなさなくなる。

noindex ディレクティブ

noindexディレクティブはGoogle等の検索エンジンに対して、検索結果に表示しなように指示する仕組み。HTMLファイルなら以下のようにヘッダに記載できる。

<meta name="robots" content="noindex nofollow">

それ以外のファイルでもHTTPヘッダに以下のように記載できる。

X-Robots-Tag: noindex, nofollow

noindexはそのファイルを検索結果に表示しないことを指示する、nofollowはそのファイル内にあるリンク先をたどらないことを指示する。基本的にこの二つを書いておけば良い。

robots.txtとの違い

noindexディレクティブはrobots.txtとよく似た機能を持っているが、目的が異なる。robots.txtは無駄なコンテンツがクロールされてサイトの質が低く評価されたり、多くのリクエストが飛んでサーバに負荷がかかるのを防ぐための仕組みである。Googleも「robots.txtを検索結果に表示させない目的で使用するな。その場合noindexを使え。」と言っている

Trello流出事故

すでに結構前の話だが、Trelloというタスク管理サービスにおいて、社内の内部情報と見られる情報がGoogle検索することで表示されてしまうという事故があった。これは言うなれば、インターネット上のサービスには同じ公開共有の仕組みでもnoindexディレクティブを使用した公開と使用しない公開の2種類があるという認識がユーザになかったことに起因すると思われる。ユーザはTrelloの公開設定をたとえばGoogle DriveのURL共有と同じモノだと考えたのだろう。実際URLを打ち込めば誰でもアクセスできるという点は同じである。しかしGoogle DriveのURL共有はnoindexという検索結果に表示させない仕組みを利用しているが、Trelloはそういうモノではなかった、その認識がなかったために起きた事故なんじゃないかと思う。(調査はしてないので間違っているかも。)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?