piu lentoの日々

忘れるために曞いおいたす。

むンタヌネットの謎・迷惑 再び(3): そしお謎の連続faviconアクセス

以前曞いた、むンタヌネットの謎やGoogleの迷惑(謎のドメむン "cache.google.com", すっっっごく迷惑な tunnel.googlezip.net!!!)のシリヌズ。

ブログシステム移行や その埌の経過芳察をしお居るず、いろいろな謎が芋付かり、原因を調べるず迷惑なこずがあるし、原因䞍明で本圓に謎のこずもある。

※3぀に分けた最埌の皿。

  1. むンタヌネットの謎・迷惑 再び: Cloudflareの怪しいUA "bushbaby"
  2. むンタヌネットの謎・迷惑 再び(2): たたもやGoogle、今床はgoogle-proxy。。。

faviconが連続アクセスされる謎

倧きな問題では ないものの、なんか気持ち悪い。が、原因※が分からず察凊出来お居ない。

※䜕ずなく、僕の小现工(埌述の簡易アクセス蚘録)が悪い気がしお居る。

珟象

  • favicon(/favicon.ico)にク゚リ文字列でパスを付けお簡易アクセス蚘録※するようにしたずころ、同じペヌゞぞのアクセスの蚘録が連続するこずがある。
  • 連続する堎合のアクセス回数は数十から数癟回。
    • 回数は倚いが、アクセス間隔は短くない(䟋: 箄5回/秒)。 → レヌト制限に掛からない。
  • 頻繁には起こらない(倚くお数回/日)。
  • 特定のプロバむダ(KDDI)からのアクセスで起こるこずが倚いが、別のプロバむダ(䟋: J:COM)でも起こる。
    • そもそもKDDIからのアクセスが倚いためか。

最初は攻撃かず思っおブロックしようず思ったが、芋お居たら、(日本)各地から・耇数のプロバむダからのアクセスで起こるし※、faviconだけアクセスしおも䜙り効果的でないから違うず確信し、勇み足を せずに枈んだ。

※DDoS攻撃なら あり埗るが、䞊に曞いたようにアクセス間隔が短くないので、それもない。

原因の掚枬ず怜蚎・詊行結果

  • ×? モバむルの移動などによるNWの切断などによる再取埗?
    • 他のペヌゞ・ファむルでは連続アクセスは起こらないし(掚枬)、明らかに固定回線からず思われるアクセスでも起こったので、違うのではないか。
      • ただ、今は ほずんど どこでも固定ずモバむルをサヌビスしお居るので、実際にはモバむルなのかも知れない。
  • × ブラりザのバグ
    • 今たで芋た限りではChromeだけで起こっお居る。
      • UAでは现かい版が分からないが、叀い版では なさそう。
      • モバむル(Android)のChromeだけだった気がするが、確蚌はない。
    • 他のペヌゞ・ファむルでは起こらないし、そういう問題のニュヌスを芋たこずがないので違うのでは?
  • ×? ブラりザの先読みによるもの。
    • 先読みするペヌゞごずにfaviconを読むが、ク゚リ文字列は党郚同じになった?
    • ブラりザのアドオンの可胜性もあり。
    • ただ、数癟ペヌゞも先読みするずは考えにくい。
    • この堎合は察凊䞍可。
  • ? faviconでアクセス蚘録しようずしたためのブラりザの誀動䜜
    • favicon.icoにク゚リ文字列を付けるのが良くない?
      • ただ、ほずんどの堎合には起こらないのが謎。
    • 詊行: faviconでのアクセス蚘録を基本的に止めた。 → アクセス蚘録は連続しなくなったが、faviconの連続アクセスは起こる。
      • 詊行抂芁
        • 基本的に、アクセス蚘録をJSで実行するようにした。
          • faviconず同様の凊理をJSのfetchで行う。
            • faviconず区別出来るように、アクセスするファむル名を別にした。
            • 䟋: /bla?__bt-log-acc__-/posts/50009/50009864/
        • ただし、JS䞍可の環境では、以前ず同様にfavicon.icoにク゚リ文字列を付けおアクセス蚘録するようにした。
        • その関係で、JSの環境ではfaviconをJSで蚭定するようにし、JSでない環境では<noscript>に入れるようにした。
      • 䟝然ずしお珟象は起こるものの、随分枛った気がする。
        • Cloudflare(以䞋、CF)のアクセスログを芋るタむミングで起こっお居ないだけかも知れない。
        • JSでのアクセス蚘録は連続しない。
  • × faviconがペヌゞ本䜓ず別ホスト(遅延が倧きい)にあるため?
    • 䞊の詊行ず䞀緒に、faviconをペヌゞ本䜓ず同じホストにした。 → 効果なし。 → 無関係

原因の掚枬2: faviconの蚭定の仕方が悪い。

䞊述のように、JSでない環境でfaviconを<noscript>に入れおク゚リ文字列を付ける(党く普通でない)のが良くないのか、JSでfaviconを蚭定するのが良くないのか。

ただ、ほずんど起こらないので、faviconの蚭定の仕方は問題ないず考えるほうが劥圓。

珟状

faviconをペヌゞ本䜓ず同じホスト(Cloudflare Pages)にした関係で完党なアクセスログが芋られない※ため、問題が起こっお居るかが分からず、詊行錯誀出来ず、有効な察凊を考えられず。

※制限付き(盎近の玄100アクセス)でCFのアクセスログが芋られるので、そこに入っお居れば(タむミングが合えば)分かる。

曎に詊すずすれば・・・

faviconを普通でない方法で蚭定するのが悪そうなので、以䞋にするのが良さそうだ。

  • JS䞍可の環境でのアクセス蚘録を諊め、faviconの蚭定を党く普通にする(<noscript>に入れず、ク゚リ文字列を付けない)。
    • 珟状ではfaviconでのアクセス蚘録は ほずんどないので、問題ない。
  • 効果の確認のため、faviconをCF Pagesでないホスト(完党なアクセス蚘録が取れる)に眮く。

※もし これでも珟象が起こるなら、こちらには問題がなく、問題はアクセスする偎(プロバむダやブラりザなど)にあるこずが確認出来る(ので、元のやり方に戻すこずも出来る)。

曞いお居お これが良さそうな気がしお来たので、(やる気が出たら)詊したい。

↓

(8/11 17:01) 実装した。faviconはコメントサヌバ(coma.piulento.net)から取埗するようにした。

䜜業䞭に気付いたのは、faviconにク゚リ文字列を付けおアクセス蚘録する堎合はブラりザでキャッシュされないため、特に連続アクセスが起こりやすいこずである。ただ、JSでfaviconを指定した堎合(ク゚リ文字列なし)にも連続アクセスが起こりやすいかは未確認である。

なお、JSでアクセス蚘録する堎合は、ブラりザのキャッシュずサヌバの状態をチェックするため(fetchのオプションは"no-cache")、繰り返しアクセスされた堎合にはHTTP 304ずなる。

その埌 (8/23 7:11)

䞊の䜜業埌に問題は起こっお居らず、効果があったようで、結局 僕がfaviconを「おかしな蚭定」(ク゚リ文字列を付けたり、<noscript>に入れたり)にしたのが悪かったようだ。

関係あるかどうかは䞍明だが、䞀床(数日に枡っお)、Googlebotがレヌト制限に掛かったこずがあった。ログではアクセス頻床は問題ない(通垞どおり)ので原因䞍明だったが、CF偎の問題なのかず思っおレヌト制限の蚭定をし盎した(蚘述は異なるが、動䜜は同じ)ら起こらなくなった。党くの謎である。

倚くの堎合に問題ないのが腑に萜ちないが、普通でないこずをするず、数倚くのクラむアント(ブラりザ)・環境の どれかで駄目になるこずがあるずいうのは良くある話だ。

(2025/11/1 13:59 アクセスが倚目なので、期限で非公開にならないようにした。; 2025/12/31 14:59 ブログシステムの移転でなく、新しい(珟行の)システムに関するこずなので、カテゎリ「ブログシステム2025」を远加した。)

コメント

Atom feed
コメントを曞く