2026年8月12日の日記

<2026/08/13 2026/08/11>

キャラ倉庫

お行儀の悪いbotへの対策をしてました。

robots.txtを見てくれる程度に理性が残っているならrobots.txtで。
特別ページを深掘りされても迷惑なだけなんで、そういう指定に。
ちなみに、robots.txtの設定が競合する場合、長いほうが勝つらしいです。

User-agent: *
Allow: /
Disallow: /w/
Allow: /w/images/
Disallow: /%E7%89%B9%E5%88%A5:
Disallow: /%e7%89%b9%e5%88%a5:
Disallow: /特別:
Disallow: /Special:

そもそもほとんどの特別ページはロボットに限らずただの閲覧者に見せる必要はないので、MediaWikiのLocalSettings.phpの中でアクセス制御。

// 一般ユーザーには見せないページ
$wgHooks['SpecialPageBeforeExecute'][] = function ( $special, $subPage ) {
	if ( $special->getUser()->isAnon() ) {
		switch ($special->getName()) {
			case 'Allpages':                 // ページ一覧
			// ... 見せていい特別ページだけ許可リスト方式で列挙
			case 'Whatlinkshere':            // リンク元
				break;
			
			default:
				throw new ErrorPageError( 'badaccess', 'badaccess-group0' );
		}
	}
	return true;
};

迷惑が過ぎる奴は、.htaccessで問答無用で弾く。

SetEnvIfNoCase User-Agent "meta-externalagent" bad_ua=on
RewriteCond %{ENV:bad_ua} on
RewriteRule ^(.*)$ - [F,L]

AI クローラに HTTP 402 を返して課金する。AWS WAF 新機能の仕組み - サーバーワークスエンジニアブログ
この記事に書いてあるような、AIクローラーに課金するシステムが使い物になるようになったら、3日間で同じコンテンツに4万アクセスでもしてくれていいんですがね。

<2026/08/13 2026/08/11>