タグ

ブックマーク / zenn.dev/catnose99 (6)

  • Hashnodeにセッションハイジャックの脆弱性を報告した

    2022年10月にHashnode(英語圏では人気のある技術ブログ作成サービス)に脆弱性を報告したのですが、最近になって修正されたようなので記事にしておきます。 Hashnode社の方には脆弱性について記事にすることの許可をもらっています[1]。 Hashnodeのカスタムドメイン設定機能について Hashnodeの目玉機能として、ユーザーごとにブログを作成し、そのブログにカスタムドメインを紐づけられる機能があります。カスタムドメインのブログであっても、LikeやフォローといったHashnodeの認証が絡む機能を使うことができます。 カスタムドメインが設定されたブログでもフォローなどの機能が使える hashnode.comにログインしていれば、ユーザーのブログ(example.com)を開いたときにもログイン状態が保持されているというわけです。 クロスドメインでログイン状態を保持するのはめ

    Hashnodeにセッションハイジャックの脆弱性を報告した
  • しずかなインターネットの技術構成

    こんなWebサービスをリリースしたので、技術的な話をまとめておこうと思います。 元々このサービスは、趣味の延長線のような感じで開発を始めました。競合にあたるnoteはてなブログなどのサービスが確固たる地位を築いているということもあり、「お金にはならないだろうけど、自分の趣味を詰め込んだものにしよう」というゆるい気持ちで開発を続けています(楽しい)。 選定の方針 趣味と言っても文章投稿サービスなので、ユーザーが少数であったとしても長期間運営しなければなりません。そのため、ユーザー数が少なければランニングコストが数千円/月以下、ユーザー数が増えたときは段階的にコストが上がるように選定を行いました。 アプリケーション フルスタックNext.jsアプリケーションをCloud Runにデプロイしています。各APIエンドポイントはNext.jsAPI Routesで生やしています。 Next.js

    しずかなインターネットの技術構成
  • Cloud Run東京リージョンにカスタムドメインをマッピングするとどのくらいのレイテンシが発生するのか

    調査結果まとめ 日の真ん中あたりから東京リージョンのCloudRunにアクセスしたときのTTFB(Time To First Byte)のざっくり計測結果。詳細は後述。 Cloud Runのデフォルトドメインに直接アクセスした場合: 28msくらい Cloud Runにカスタムドメインをマッピングした場合: 99msくらい さらにCloudflareからCNAMEで指した場合: 114msくらい Cloudflare WorkersでCloud Runのデフォルトドメインをプロキシした場合: 44msくらい Cloud Run + Cloud Load Balancing(CDNなし): 31msくらい Cloud Runの東京リージョンで「カスタムドメインのマッピング」を利用するとレイテンシが発生する 2023年1月現在、Cloud Runのドキュメントの既知の問題には以下の記載があり

    Cloud Run東京リージョンにカスタムドメインをマッピングするとどのくらいのレイテンシが発生するのか
    snaka72
    snaka72 2023/11/25
  • Next.jsで動的にXMLサイトマップを生成する

    2021年1月現在、Next.jsでXMLサイトマップを生成するライブラリとしてはnextjs-sitemap-generatorが最も人気のようです。 nextjs-sitemap-generatorのドキュメントを軽く読む限り、Next.jsのCustom Serverを使用してビルド時にサイトマップを生成する仕組みのようなので、以下のようなケースでの使用には最適とは言えません。 Custom Serverは触りたくない コンテンツ追加のタイミングでビルドが走らないユーザー投稿型のサイトでも、サイトマップを一定間隔で更新したい 個人的に色々と試してみたところ、思った以上に簡単にXMLサイトマップを動的に作ることができたので、その方法を共有します。 Next.js + TypeScriptで動的にXML Sitemapを生成する 以下のような方針で実装します。 sitemap.xmlをN

    Next.jsで動的にXMLサイトマップを生成する
    snaka72
    snaka72 2023/08/25
  • Webサービスで「ユーザーページに独自ドメインを登録できる」機能を提供するのがなぜ難しいか

    コンテンツ投稿系のWebサービスでは「ユーザーのページに好きな独自ドメインを登録できる」という機能をつけたくなることがあります。ユーザーからすると「コンテンツが自分自身の所有物であること」を感じやすいですし、コンテンツのポータビリティが上がりますし、とても夢がありますよね。僕もいつか実装してみたい機能のひとつです。 しかし、この機能を提供するには、以下のようなハードルがあります。 料金 ベンダーロックイン 複雑な実装(とくに認証) (1)の料金についてはデプロイ先によります。例えばVercelであればProプラン以上であれば無制限に独自ドメインを登録できます(Unlimited custom domains for all Pro teams)。 Google Cloudの場合にはCertificate Managerで独自ドメインごとの証明書を管理するのに「ひとつあたり○USD」という感

    Webサービスで「ユーザーページに独自ドメインを登録できる」機能を提供するのがなぜ難しいか
    snaka72
    snaka72 2022/10/18
  • ビデオ会議でカメラの映像の代わりに絵文字を配信するためのツールを作った

    ビデオ会議で顔出しNGな人でも感情を表現できるように、絵文字やテキストをカメラ映像代わりに表示するためのサービスを作りました。 自分のカメラ映像の代わりにこういうやつを表示 👆 こんな感じでZoomやGoogle Meetでのビデオ会議で、自分の顔の代わりに絵文字を表示できるサービスです。絵文字に動きをつけたり、自由に文字入力することもできます。 👆 画面共有ではなく、来自分の映像が表示されるスペースに、絵文字を表示させるような形で使います。 ユーザー登録なしで使えますが、ZoomやGoogle Meetにブラウザの画面を表示するためにOBSをインストールする必要があります。初回の設定手順は使い方ページで詳しく説明してあります。 作った理由 Zoomのイベントでパネルディスカッションに参加することになったからです(DevIO 2021)。顔は出したくないものの、自分だけ静止画のアイコ

    ビデオ会議でカメラの映像の代わりに絵文字を配信するためのツールを作った
    snaka72
    snaka72 2021/10/06
  • 1