ログイン後のリダイレクト先URLを扱うときのセキュリティの注意点
ログイン後のリダイレクト先 URL を ?redirect= で渡すと、フィッシングや XSS に悪用されます。すり抜けられない検証の書き方と、リダイレクト先を URL で渡さずに保存する方法との比較を紹介します。
全 57 記事
ログイン後のリダイレクト先 URL を ?redirect= で渡すと、フィッシングや XSS に悪用されます。すり抜けられない検証の書き方と、リダイレクト先を URL で渡さずに保存する方法との比較を紹介します。
macOS で日本語入力のまま tmux の prefix を押すと、次のキーが日本語入力で文字として入力され、tmux を操作できません。prefix を押したときに Hammerspoon で英字入力へ切り替える設定と、変換中でも prefix が tmux に届くようにした工夫を紹介します。
Astro で作ったこのブログでは、記事に Mermaid のコードブロックを書くと、執筆時に事前描画した SVG の画像として表示されます。Mermaid の JS を配信せずに、Mermaid のダイアグラムを記事中に表示できます。ダイアグラムを表示する 4 つの方法の比較と、事前描画した SVG を記事のソースどおりに保つ仕組みを紹介します。
tmux で Claude Code を複数起動していると、どれが承認待ちになっているのか分からなくなります。tmux の各ウィンドウに Claude Code の状態を一覧表示するプラグイン claude-tmux-sidebar の使い方、類似ツールがある中で自作した理由、Claude Code の hooks と Rust による実装を紹介します。
最近 realpath というコマンドを知りました。Claude にファイルを渡すときに絶対パスを書くのが面倒で、realpath と pbcopy の組み合わせに落ち着いた話です。
はてなブログから移ってきたこのブログの構成メモ。Content Collections のスキーマ、Tokyo Night に揃えた配色、そして初期ロードの JavaScript を 1 バイトも配信しないための判断を書く。
前回、zodのimportとツリーシェイキングについて記事を書きました。そのとき import { z } と import as z はどちらも z.string() と書けるのに、入ってくるものは別物だという話が出てきました。
先日、こんな内容の投稿を見かけました。え、逆では?と思いました。import すると全部バンドルされてしまうから避けるべき、というのが私の中の常識だったからです。
AG03MK2をデスク下にマウントしたら、デスクのスッキリ感が向上しました。この記事ではAG03をデスクしたにマウントする方法について紹介します。
Flutterでgorouterを使う中で「Top Level ShellRoute」というパターンが意外とイケると気づいたため紹介します。