Cookie の同意欄がいらないカウンター
たいていの解析ツールには同意バナーが要ります。たいていの解析ツールが訪問者の端末に何かを保存するからです。クッキー、ローカルストレージの項目、翌日まで生き延びる識別子。ヨーロッパの法律がもっとも直接に規律しているのはこの保存であり、それこそが、何かが起きる前にバナーを必要にしているものです。…
Stats4U 2 から残った三つの列
ここのカウンター本体の表には 166,436 行と、重要そうに見える列がいくつかあります。そのうち三つが lastdomain、firstdomain、userdomain です。データが入っています。 lastdomain15,525 行で空でない firstdomain15,457 行で空でない userdomain2,982 行で空でない カウンター行:…
画面サイズの収集をやめた
このサービスは以前、画面解像度を記録していました。ブラウザのスクリプトが window.screen を読み、res=1920x1080 として一緒に送り、統計ページにはそのためのパネルがありました。 もう記録していません。それを収めていた表は今日ゼロ行で、パネルは空の状態を表示します。読み取りをしていたスクリプトの行は、いまでは何がそこにあったかを述べるコメントです。…
非力なハードウェアでパスワードにかかる値段
ここでは統計ページにパスワードをかけられます。そのパスワードのハッシュを計算する処理は、このサービスで唯一、遅くあるべき処理です — 盗まれたハッシュの解読を高くつかせているのが、まさにそれだからです。問題は、このハードウェアでどれくらい遅いか。 このサイトを動かしている機械で実測、PHP 8: PASSWORD_DEFAULT560 ms(cost 12 になる) cost…
ランキングの仕組みと外れ方
stats4u.netは、開始当初からアクセスの多いカウンターをランキング化してきました——2012年の記事でも、すでにその改善について触れています。現行版は/topにあり、内部の仕組みは当時とは異なります。30日間の訪問者数による上位25件のカウンター、今週と先週を比較する別建ての「fastest…
公開ディレクトリのバックアップはソースの流出
大きなファイルをいじる前に、まず複製を取るのは自然な動きです。cp index.php index.php.変更前、それから作業。そのファイルがウェブサーバーの公開するディレクトリにあるなら、あなたはたった今、ソースコード一式を平文でダウンロードできる状態にしました — データベースの資格情報も、秘密も、そのファイルにたまたま入っているすべてを。 Apache が…
新しいプライバシー方針・規約・処理契約
2026年8月19日時点で、stats4u.netにはこれまで1つしかなかった法的文書が3つになりました。書き直したプライバシーポリシー、利用規約、そして新たに、GDPR第28条に基づくデータ処理契約(DPA)です。 なぜ特にDPAなのか…
Perl に見えた言語コード
2026年8月19日、.htaccessに、ブラウザに直接配信されてはならない種類のファイルをブロックするルールを追加しました。編集後にWebルートに残ったソースコードのコピー——index.php.bakや、うっかり残ったconfig.py、その他スクリプト系の拡張子を持つファイルで、訪問者がそれを実行するのではなく、ソースコードのままプレーンテキストとして取得できてしまうも…
同じファイルを毎回圧縮する
Apache はレスポンスをその場で圧縮します。毎回中身が違うページなら、それしか手がありません。月に一度しか変わらないスタイルシートにとっては、サーバーが訪問者ごとに同じ作業をやり直し、何週間も続け、そのたびに結果を捨てるということです。そのためのキャッシュはありません。 2026 年 8 月 19 日、確立済みの接続の上で、このサイト自身の style.css(124…
除外リストにハッシュをかけていない理由
自分のサイトを作っている人は、一日に二十回それを開きます。月に四十人の訪問者しかいないカウンターでは、統計の半分があなた自身です。だから設定があります。自分のアドレスからの訪問は数えない、というものです。…
列より長かったページのアドレス
2026 年 8 月 9 日、二十枚のカウンター画像が描かれませんでした。誤って描かれたのでも、遅く描かれたのでもありません — 訪問者はカウンターがあるはずの場所で何も受け取れませんでした。 原因は 255 文字を超えるページのアドレスだった。いまは書き込みの時点で切り詰められ、カウンター画像は、告げられたアドレスの長さに左右されない。 連鎖…
紹介ページから外したもの、そしてその理由
古い紹介ページには機能の一覧が載っていた。そのページを作り直すにあたって、一覧を一行ずつソフトウェアと突き合わせて読んだところ、四つの項目がもう合っていなかった。うち一つは何年も前から合っていなかった。…