TidBITS のメール配信が一週間お休みだった間、ウェブサイトの作業を少し行いました。サイトが複雑になりすぎて、変更によって予期せぬ副作用が出ることがよくあるため、まだ改善の余地がある部分を見つけ、修正中です。何か期待通りに動作していない点がありましたら、お知らせください。
より高速なパフォーマンス
まず、ここ数ヶ月、画像の最適化、キャッシュ、コンテンツ配信ネットワーク(CDN)に関する様々な問題に取り組んできました。これらの問題解決に向けた最新の取り組みとして、Cloudflareの自動プラットフォーム最適化サービスを導入しました。このサービスにより、CloudflareのCDNにサイトのキャッシュがさらに多くなります。サイトでパフォーマンステストをいくつか実行したところ、概ね問題ありませんでした。そのため、大きな違いが出るかどうかは疑問でしたが、月額5ドルで試してみる価値はありました。
疑うのは間違いでした。今[削除されたリンク]にアクセスしてブラウジングしてみると、ページがほぼ瞬時に読み込まれることに気づくでしょう。以前もパフォーマンスは悪くなかったのですが、今はさらに良くなりました。
この変更は簡単に実装できましたが、まだ調整が必要な点がいくつか見つかりました。特に、本日は検索が失敗していたのですが、今は正常に動作するようになったようです。この問題が解決されていることを願っています。
より攻撃に強い会員チェックアウト
CloudflareのAPO対策とは全く関係ありませんが、会員システムにおける注目すべき変更があります。「LittleBITS: Issue #1600、カードテスト攻撃、不注意による登録解除の防止」(2022年2月28日)で書いたように、カードテスト攻撃を意図せず有効化してしまいました。これは、攻撃者がボットを使ってアカウントを作成し、会員登録を行い、盗んだクレジットカード番号が有効かどうかを確認する攻撃です。ボットによるフォーム送信を防ぐreCAPTCHAでこの攻撃をブロックしましたが、reCAPTCHAはApple Payの決済にもランダムな問題を引き起こしました。これらの問題は解決できなかったため、思い切ってreCAPTCHAを無効化しました。
悪い考えだった。数ヶ月後、またしても攻撃が起きた。今回も Custom Monthly Amount 会員レベルが使われていた。このレベルはデフォルトで月額 2 ドルに設定されており、2 ドルの請求に気付く可能性が低いため、カードのテストには魅力的だった。攻撃は特に混雑した時期に起こったので、私は攻撃者が少額の金額だけをテストしていることを期待して、Custom Monthly Amount レベルを無効にすることで対処した。これがまたもや悪い考えで、3 度目の攻撃が私たちの 20 ドルの TidBITS Contributor レベルで発生した。どちらの場合も、Stripe が大部分の攻撃をブロックしてくれたので、私は残りの金額をすぐに返金したが、このような犯罪行為に加担するのは許されないので、reCAPTCHA を再び有効にした。
これらの問題を解決するためにApple Payを完全に無効にするのではなく、開発者はStripe Checkoutへの切り替えを提案しました。Stripe Checkoutは、メンバーシッププロセスにStripeがホストする支払いページを追加します。これは追加の手順となりますが、Stripeが私たちの能力よりもはるかに強力なボット対策を備えていることを期待しています。この変更はすでに完了しており、チェックアウト時に以下のページが表示されます。
善行は必ず報われるという、今も続く物語の中、Stripe Checkout を利用したプロセスは支払いを受け付けているものの、WordPress の Paid Memberships Pro との連携がうまくいっていないため、アカウントに支払いとメンバーシップの変更が反映されていません。これは、保留中の Webhook 応答に関する問題です。サポート担当の Lauri Reinhardt がこの問題を特定し、開発者にも報告済みですので、まもなく修正される予定です。それまでの間、TidBITS を更新または新規登録したにもかかわらずアカウントに支払いが反映されていない場合は、これが原因です。
TidBITS Talk とナビゲーションバー
最後に、TidBITS Talk 参加者からのご要望にお応えして、少し前にインターフェースを変更しました。サイトのメインナビゲーションバーに、新しいトップレベルの TidBITS Talk メニュー項目が追加されました。このメニュー項目には、関連サイトの Discourse にある記事へのコメントや一般的な議論へのリンク、そして SlackBITS へのリンクが含まれています。これにより、これらの項目が場違いに感じられていた Get TidBITS メニューから削除され、TidBITS Talk がより目立つようになることを期待しています。
一方、TidBITS Talkサイトのナビゲーションバーには、TidBITS Talkにアクセスしてメインのtidbits.comサイトに戻りたい人のために、TidBITS Homeリンクが追加されました。「Home」だけでは説明が不十分だったので、言葉遣いに少し苦労しましたが、「TidBITS Home」は、少々言葉が長すぎるとはいえ、サイトを区別するのには妥当な方法だと思いました。
これらはいずれも、サイトの使用体験を根本的に変えるものではありませんが、騒ぎが収まれば、サイトはより高速で使いやすくなり、攻撃に対してより強力に保護されるはずです。