よみもの:空想シリーズのIDについて誤っていると思われる情報が広まっているの件
ナビゲーションに移動
検索に移動
| よみものページ | |
| この「よみもの」は、RevPiが作成したものです。 他ユーザーの編集も歓迎いたします。 |
空想シリーズのIDについて誤っていると思われる情報が広まっているの件では、ウェブサイト群空想シリーズのIDについての誤解と、ID生成方法の技術的考察を述べる。
おことわり[編集]
IDの中からプロバイダなどとの関連を見つけ出した先人の知恵は尊敬に値するものであり、本稿はそれを一斉に否定するものではない。
IDのプロバイダ等との関連について[編集]
この類の出典を探すと大抵これに行きつくので、以降はこれを原文とみなす。
IDは、IPアドレス、キャリア、セッション情報などを利用して作成している[編集]
まず、
- IPアドレス - おそらく正解。
- キャリア - Webサイトはキャリアを直接取得できない。[1]
- セッション情報 - cookie消してもIDは同じ。よって、違う。
なお、この記述には出典と思しきリンクがついているが、リンク切れとなっており確認できない。空想掲示板の「新機能連絡・機能要望4」だったことが判明。
管理人氏自身から「現状IDは、IPアドレス、キャリア、セッション情報などを利用して作成しています。」との発言がある。どうしたものか…。当該発言は2023年なので、3年の間にID生成方法が変わったのか、それともこの考察自体が誤りなのか。もしくは「セッション」というのがCookieではないのか。P.S.一応質問しときました。
ID生成の方法[編集]
IP・フィンガープリント説[編集]
IPアドレスもしくはフィンガープリントをハッシュ値にしている(または他の規則に基づいて文字64種類×8にしている)。
- 似た帯域なら同じようなIDになるアルゴリズムだった場合、キャリアとの関連も説明できる。
ランダム説[編集]
初回アクセス時にサーバー側でランダムに生成、テーブルに保存。次からはクライアントがIP・フィンガープリントを渡し、サーバー側がテーブルから探す。
- ランダム要素を使うと、いちいち照合する手間がかかる。また、増え続ける「IDとIPの紐づけテーブル」の管理コストがかかる。
- 大規模SNSならともかく、個人運営のサイトでそこまでするか?という疑問がある。
その他[編集]
- Base64で何かをエンコードした可能性大
- しかしデコードしても意味のある文字列は現れず
- バイナリをエンコード?
- User-AgentをDevToolsで偽装してもIDが不変だったため、これは関係ない。
- ブラウザを再起動しても、(同一の環境で)端末を変えても、Cookieを削除しても変わらないため、ランダム要素はない。また、ブラウザフィンガープリント説も可能性が下がる。
結論[編集]
IDは「IPアドレスを主軸としてハッシュ値・Base64エンコードを施している」可能性が高い。User-Agent等は、同一人物のIDが変わりづらい様にID生成ロジックから外されている可能性が高い。
- ↑ IPの帯域から推測は可能。しかし、それでは結局IPアドレスと同じになってしまう。