WordPress WordPress にパスキーでログインするプラグインを作りました|Rapls Passkey WordPress の管理画面にパスキーでログインできるプラグイン Rapls Passkey を公開しました。既存のログイン画面を置き換えず、パスワードを残したままパスキーを1つ足す設計にした理由と、端末を失くした人をどう戻すかの復旧経路の話をまとめています。無料版はWordPress.orgから。 2026.09.08 WordPress
AI フォルダを消されたあと、settings.jsonをどう書き直したか。denyリストでは足りなかった Claude Codeにフォルダを消された後、settings.jsonを見直しました。denyリストの書き方には落とし穴があり、サンドボックスと承認は独立していません。実際の設定ファイルと、PreToolUseフックによる保護の実例を公開します。 2026.07.31 AI
AI AI の返答を画面に出すとき、エスケープだけでは守れなかった話|DOM を直接組んで安全に表示する AI チャットボットで、LLM の出力をエスケープしたのに画面表示ですり抜けた経験を残します。AI の出力はユーザー入力と同じ外部入力です。innerHTML の二度パースという落とし穴と、DOM を直接組んで安全に描画する WordPress での直し方をまとめます。 2026.06.13 AI
AI ユーザーの API キーをどこに預かるか問題|WordPress プラグインで AES-256-GCM を使った話 自作 WordPress プラグインで、ユーザーの API キーを平文で持たず AES-256-GCM で暗号化保存した実装記録です。鍵は wp-config の salts から派生させて DB の外に置き、AAD でサイトに束縛。IV と認証タグのレイアウト、復号の段階フォールバック、salts 変更時の再入力動線まで、実コードで残します。 2026.06.11 AI
WordPress target=”_blank” のタブナビング攻撃と rel=”noopener” の現実解【WordPress 運用視点・2026年版】 target="_blank" のタブナビング攻撃と rel="noopener" の使い分けを、WordPress 運用視点で整理しました。暗黙 noopener 時代の判断基準、WP 5.6 以降の自動付与の変遷、既存記事の一括修正と運用で踏んだ穴まで実環境ベースで解説します。 2026.05.29 WordPress