100日チャレンジ Day74

リンクの毒見

踏む前に、銀の針で確かめる

知らない相手から届いたリンクを、開く前に調べます。アドレスの見た目、たどり着く先、サイトの守りの設定を、実際に見えた値を添えて、ふだんの言葉で返します。

届いたメッセージを丸ごと貼っても、最初のリンクを取り出して調べます。

診断結果は判断の目安です。兆候が見つからなくても安全とは限らず、見つかっても危険なサイトとは断定できません。

Enterで調べる・Shift+Enterで改行

  • 一度しか使えないリンク(ログイン・本人確認・登録・配信停止のリンク)は調べないでください。調べると、使えなくなることがあります。
  • 入力したリンクは、診断のためにこのサイトのサーバーへ送られます。「?」から後ろ(個人の情報や認証用の文字列が入りやすい部分)は、初めの設定では送りません。
  • 試すだけなら、見本(実在しないサイト)を使えます。見本は通信しません。
くわしい設定

「?」から後ろには、ログイン用の文字列や、名前・メールアドレスなどの個人の情報が入っていることがあります。入れる前に、そうした文字列が含まれていないか確かめてください。「#」から後ろは、この設定でも送りません。

見本で試す

どれも実在しないサイトと、作りものの観測データです。押しても通信しません。

調べる3つのこと

  1. アドレスの見た目通信する前に、つづり・紛らわしい文字・有名な名前の借り方・短縮URLなどを調べます。
  2. たどり着く先転送を最大回までたどり、最後のページの応答と、ページに書かれた事実(題名・入力欄の送り先など)を読みます。
  3. 周りの情報名前の登録日、メールのなりすまし対策、連絡先の公開(security.txt)などを調べます。

結果の2つの見方

訪問者向け「なりすましの兆候」

なりすましの兆候の強さを、4つの段階(調べきれなかったときは「不明」)で示します。

    運営者向け「サイトの守り」

    守りの設定を、100点満点の点数とA〜Fの評価で示します。点数が低くても、危険なサイトという意味ではありません。守りの評価と、なりすましの兆候は混ぜずに出します。

    しくみと限界

    やること

    • 通信する前に、アドレスの見た目を調べます(つづり、紛らわしい文字、有名な名前の借り方、短縮URL、別のサイトへ進む指定など)。
    • 「調べる」を押すと、このサイトのサーバーが、そのアドレスへアクセスします。転送があれば最大回までたどり、行き先を1つずつ確かめてから進みます。
    • 最後のページについて、応答ヘッダー(守りの設定)、Cookieの名前と属性(値は読み捨てます)、HTMLから取り出した事実(題名・入力欄の送り先・読み込むファイルなど)を見ます。本文は先頭KiBまでしか読みません。
    • 行き先の名前について、公開DNS(メールのなりすまし対策の設定など)、登録日、http://で開いたときの転送、連絡先の公開(security.txt)を調べます。

    やらないこと

    • ログイン、入力欄への送信、ファイルのダウンロードや実行、JavaScriptの実行はしません。
    • 診断先の画面を撮ったり、このページに映したりはしません。
    • 隠れたファイルを探す、何度も繰り返してアクセスするなど、侵入に近い確認はしません。
    • 既知の詐欺サイトの一覧との照合や、ウイルス検査はしません。必要なら、結果の下にある外部のサービスを使ってください。
    • 診断の履歴を残しません。結果の公開やランキングもしません。

    見ていないこと

      診断が確実でない理由

      • 見るのは、診断した時点の応答だけです(同じURLの結果は、最大分、使い回すことがあります)。あとから中身が変わることがあります。
      • 相手のサーバーは、アクセスしてきた相手を見分けて、人が開いたときと違う中身を返せます。
      • 一部のサイトは、ブラウザ以外からのアクセスを遅くしたり断ったりします。その場合は「時間切れ」や「断られた」と表示します。診断のために、ブラウザになりすますことはしません。
      • JavaScriptで後から作られる部分や、ログインした後の画面は見ていません。
      • 名前の表に載っていないブランドや新しい手口は、見た目の判定に出ないことがあります。
      • 公式ドメインの表と一致していても、乗っ取りや、個別のページの問題までは分かりません。
      • 守りの点数は、見えた設定だけを数えた独自の評価です。点数が高くても、なりすましではないとは限りません。

      点数と評価の付け方

      訪問者向けは、見つかった兆候の重み(画面では「兆候 +9」のように出します)を足して、4つの段階を決めます。とくに強い兆候には「これより下の段階にはしない」という下限があります。

        運営者向けは、100点から「付けると良いもの」の減点(画面では「減点 15」のように出します)を引き、A〜Fの評価にします。直したときに戻る点は「直すと +15点」と書きます。

          ほかの診断サービスの採点(MDN HTTP Observatory など)とは別の、このサービス独自の評価です。

          データの出どころ

          • ブランドの公式ドメイン:日本で名前をかたられやすい36の会社・サービスについて、各社の公式サイトで確かめたドメインの表です(2026年10月22日に確認)。選ぶときは、フィッシング対策協議会の月次報告(2026年9月分)を参考にしました。
          • 短縮URLと、だれでもページを公開できるサービスの一覧:各サービスの公式の情報で確かめました。
          • ドメインの区切り(どこまでが1つの登録か)と、利用者ごとにサブドメインを配るサービスの判別:Public Suffix List(公開サフィックスリスト。2026年10月20日版)を使っています(自治体名の規則2件だけ除いています)。ライセンスはMPL 2.0です。
          • 末尾(.comや.jpの部分)の目安:Interisle Consultingの2026年の調査で、1万ドメインあたりのフィッシングの報告が多かった .xin・.icu・.cfd の3つだけです。これだけを根拠にはしません。
          • サーバーのソフトの保守が終わった時期:PHP・Apache 2.2・IIS 6〜8.5について、配布元の公式の情報で確かめました。
          • JavaScriptの部品(ライブラリ)の既知の弱点:公式の情報で、影響する版の範囲が一致したものだけを使います。
          • 守りの設定の目安:MDN(ブラウザの技術資料)などの公開資料をもとにしています。

          サイト運営者の方へ

          このサービスは、利用者が指定したページにだけ、指定のたびにアクセスします。巡回はしません。

          アクセスの見分け方

          次のUser-Agentを名乗ります。Cookie・Referer・Originは送りません。診断のために、ブラウザになりすますことはしません。

          LinkDokumi/1.0 (+https://hundred-days.pages.dev/day-074-link-dokumi/#fetcher)

          取りに行くもの

          • 利用者が指定したURL(「?」から後ろは、利用者が選んだときだけ)
          • そこからの転送先(最大回)
          • 行き先のホストの http:// 側(HTTPSへ転送されるかの確認)
          • /.well-known/security.txt

          名前の記録(DNS)と登録日(RDAP)は、公開の問い合わせサービスで調べます。この2つのために、あなたのサイトへアクセスすることはありません。

          頻度

          同じURLの結果は最大分まで使い回し、相手のサイトへのアクセスを減らします。同じ接続元からの問い合わせは、1分あたり約回までに抑えています(厳密な上限ではありません)。

          robots.txtを見ない理由

          利用者が指定した1回ごとの取得で、チャットアプリなどがリンクのプレビューを作るときと同じ扱いだからです。robots.txtの決まり(RFC 9309)は、ページを巡回するクローラーのためのものです。

          断り方

          User-Agentに LinkDokumi を含むアクセスを拒否(403など)してください。診断は「取得を断られました」と表示し、そのページへの再試行はしません。名前(DNS)と登録日の問い合わせは続けますが、あなたのサイトへの追加のアクセス(http:// 側・security.txt)は省きます。

          問い合わせ

          GitHubのIssue(外部サイト)から連絡してください。

          プライバシー

          送られるもの

          • 「調べる」を押すと、入力したリンクが、このサイトのサーバー(Cloudflare Pages Functions)へ送られます。サーバーが、あなたの代わりに相手のサイトへアクセスします。
          • 入力したリンクの「?」から後ろは、くわしい設定で選んだときだけ送ります。「#」から後ろは送りません(転送先のURLは、そのまま取りに行きます)。
          • 相手のサイトから読み取った値(題名・大見出し・文章の先頭の最大400字・転送先・ヘッダーなど)は、結果の「取得した値」の欄に、文字としてだけ並べます。
          • 相手のサイトに届くのは、このサイトのサーバーからのアクセスです。あなたのIPアドレスやCookieは相手に渡りません。
          • 行き先の名前(ホスト名)は、名前を調べる公開のサービス(いまはCloudflareとGoogleのDNS)と、登録日を調べる公開のサービス(.comと.netはVerisign、それ以外はrdap.org)にも渡ります。

          残るもの・残さないもの

          • 診断の履歴は残しません。同じ相手サイトへ短時間に何度もアクセスしないよう、結果を最大分だけ一時的に置きます。
          • 回数の上限を守るため、IPアドレスから作った読めない値(ハッシュ)を、秒だけ置きます。
          • このサイトのプログラムは、調べたURLやIPアドレスを記録に書き出しません。ただし、配信に使っているCloudflareの仕組みで、ふつうのアクセスと同じように、リクエスト(調べたURLを含みます)が処理される場合があります。
          • この端末には、調べたURLも結果も残しません。Cookieやブラウザの保存領域は使いません。

          外部のサービスと共有

          • 結果の下にある外部の診断サービスは、押したときだけ開きます。そのとき、ボタンの上に書いた値(URLかホスト名)が相手に渡ります。
          • 共有欄で送るのは、このアプリのアドレスだけです。診断の結果は含みません。

          サイト全体の方針はプライバシーポリシーにあります。