debiruはてなメモ

はてなブログの HTML が Invalid なの、わたし、気になります

J:COMを使っているとPlumeルーターによってDNSブロッキングされる可能性がある 18.204.152.241 問題の顛末

On September 3, 2026, I received an email from Plume regarding this matter, but as of September 14, I have not received a response to the email I sent on September 3. I am awaiting a reply. (2026年9月3日に本件に関してPlume社の方からメールを受け取りましたが、同日に私が送信したメールに対して9月14日時点で返信がありません。お返事をお待ちしています)

あるWebサイトにアクセスするとSSLエラーになった

こんにちは。趣味でDNSを研究したりしている @debiru_R です。

あるSNS上で誰かが投稿していたURLに何気なくアクセスしてみたら、ちょっとおかしな挙動になりました。

私がこの問題を確認した実例として2つのURLがあります。

https://2dcafe.jp/https://nekokintai.com/ です。なお、この2つのサイト側には何の問題もありません。これらのサイトは被害者です。

FirefoxでSSLエラーと表示されている図
図1. Firefoxで SSL_ERROR_RX_RECORD_TOO_LONG と表示されている
Google ChromeでSSLエラーと表示されている図
図2. Google Chromeで ERR_SSL_PROTOCOL_ERROR と表示されている
HTTPSではなくHTTPでアクセスした際の表示
図3. HTTPでアクセスすると Access to this website is blocked. と表示されている

続きを読む

Xserver レンタルサーバーの DNS 管理機能で NS レコードのサブドメイン部分にアンダースコアが使えない話

私の最近の Web サーバー事情

こんにちは。debiru です。

個人用 Web サイトとして私は長年(いつからだろうか)「さくらの VPS」を使って Web サーバーを構築してきました。従量課金は性に合わないので AWSクラウド系は使ったことがなく専ら VPS サーバーを愛用しています。さくらの VPS なりサービスは満足しているのですが、価格帯だけが気になっています(後述)。

2023年まで、さくら VPS 1G(メモリ 1GB)を使ってきました。Ubuntu 22.04 まではそれでなんとかなったのですが、2024年に Ubuntu 24.04 をインストールして環境構築していたときに、どうもメモリ不足でミドルウェアRuby や Rust)のインストールに失敗してしまいました。そこで、メモリをもう少し増やそうと思い 4G プランへの移行を決意しました。

続きを読む

MDN 翻訳コミュニティで私がやったこと

MDNの翻訳活動に参加した話

この記事は 2023 年の MDN 翻訳 Advent Calendar 向けに作成したものです。

こんにちは。debiru です。私は MDN が Mozilla Developer Network だった頃からよく MDN の記事を読んだり、内容に誤りがあれば修正したりしていました。ちなみに MDN が MDN Web Docs と呼ばれるようになったのは 2017 年 6 月頃のようです。

当時、私がよく MDN を見ていたのは確か 2012 年頃だったんじゃないかと思います。その頃の MDN は Wiki エンジンが採用されていて、Web ページ上で記事を直接編集できる仕組みがありました。より詳細には少し古いですが「MDN のあゆみ」(いつ書かれた?)が参考になるかもしれません。

そして気づけば、MDN は GitHub で管理されるようになりました。記事の編集も GitHub の Pull Request ベースで行われるようになっています。GitHub で管理されてからは初めてだったのですが、2022 年 2 月にある記事を編集したくなって、編集するにあたって案内されていた Mozilla コミュニティの Slack に参加することにしました。

続きを読む

Ubuntu 22.04 で tinydns が応答しなくなる問題

背景

Ubuntu 22.04 をインストールして、tinydnsソースコードからインストールしたところ、tinydns の動作が不安定になる症状が生じた。

Ubuntu 20.04 ではそのような不具合はなかったので調べることにした。

TL;DR 結論

tinydns インストール前に tinydns-conf.c-d300000-d400000 に変更してから tinydns-conf コマンドで /etc/tinydns へインストールを行う。

既に tinydns インストール済みの場合は、/etc/tinydns/run を編集して -d300000-d400000 に変更してから tinydns を再起動する。

再起動は OS ごと sudo reboot で再起動してもよいし、tinydns だけ再起動する場合は svc -k /etc/tinydns を実行する。

症状

tinydns 起動後、dig の問い合わせに対して最初の数回は応答が返るものの、その後一切応答が返らなくなる(ゾーンが存在しないドメイン名に問い合わせたかのような応答となる)。

続きを読む

VALUE-DOMAIN に存在していた2種類のドメインハイジャック脆弱性について

2022年3月2日に確認した VALUE-DOMAIN でのサブドメインハイジャックが可能な脆弱性について経緯を説明します。

ついでに2016年の記事「VALUE-DOMAIN に存在していたアカウント乗っ取り可能な CSRF 脆弱性について」の続報も含めて、この記事で2022年現在の VALUE-DOMAIN の状況についてお伝えします。

脆弱性を2つ発見しました

2022年3月2日に第一の脆弱性を、3月9日に第二の脆弱性を発見しました。これらについて順に説明します。

第一の脆弱性については、私よりも先に発見していた方がいます。その方から情報を聞いて検証し、私が IPA に届出したという経緯です。

続きを読む

Invalid な HTML のせいで counter-reset の仕様が捻じ曲げられた件

hn要素をナンバリングするテクニック

ここは h2 のセクションです。このブログではPC版のみですが、見出し文言の左上に ::before 疑似要素でCSSによる自動ナンバリングを行っています。

見出し1-1

ここは h3 のセクションです。

見出し1-1-1

ここは h4 のセクションです

見出し1-1-2

ここは h4 のセクションです

見出し1-2

ここは h3 のセクションです。

見出し1-2-1

ここは h4 のセクションです

いつの間にかこの採番がずれていた

body { counter-reset: n1 n2 n3 n4 n5 n6; }
h1 { counter-increment: n1; counter-reset: n2 n3 n4 n5 n6; }
h2 { counter-increment: n2; counter-reset: n3 n4 n5 n6; }
h3 { counter-increment: n3; counter-reset: n4 n5 n6; }
h4 { counter-increment: n4; counter-reset: n5 n6; }
h5 { counter-increment: n5; counter-reset: n6; }
h6 { counter-increment: n6; }

h1::before { content: counter(n1) "."; }
h2::before { content: counter(n1) "-" counter(n2) "."; }
h3::before { content: counter(n1) "-" counter(n2) "-" counter(n3) "."; }
h4::before { content: counter(n1) "-" counter(n2) "-" counter(n3) "-" counter(n4) "."; }
h5::before { content: counter(n1) "-" counter(n2) "-" counter(n3) "-" counter(n4) "-" counter(n5) "."; }
h6::before { content: counter(n1) "-" counter(n2) "-" counter(n3) "-" counter(n4) "-" counter(n5) "-" counter(n6) "."; }

こんな雰囲気のCSSを書いています。

「1章目」の例では、1, 1-1, 1-1-1, 1-1-2, 1-2, 1-2-1 となるべきです。

それがなんと Firefox の最新版で見たら 1, 1-1, 1-1-1, 1-1-2, 1-2, 1-2-3 となっていたのです。より分かりやすい図をお見せしましょう。

赤字に自動採番、黒字に本来のナンバリングを示した図

赤字と黒字が同じになるのが期待する状態ですが、Firefox ではバージョン82からこの挙動が変わって、自動採番の結果が異なるものになっていたのです。

続きを読む

POJ-1082をショートコーディングしてみたよ!

はじめに

競技プログラミングが普及して、AtCoderAOJ とする日本語のジャッジシステムが登場して久しいものです。私が大学時代にICPCに参加していた頃(2006年頃)は日本語のジャッジシステムは存在せず、北京大学のオンラインジャッジシステム(POJ)をよく利用していました。

今回は、そんな POJ - 1082 の問題をショートコーディングする話です。この問題はICPCアジア地区予選、2001年韓国Taejon(テジョン)の A 問題です。アジア地区予選の1問目、納得できる難易度です。

続きを読む

Next debiru's HINT 「WebはWEBじゃない