O hirunewani blog

Frontend Weekly 2024-05-24

Created at

PDF.jsの脆弱性、Next.jsのSSRF脆弱性、Firebase App Hosting、Notion、PDFやGoogleドキュメントをサポートなどについて紹介する。

CVE-2024-4367 – Arbitrary JavaScript execution in PDF.js

PDFのfontMatrixに文字列を入れてPDF.jsに読み込ませることで任意コード実行が出来る脆弱性について。最新のPDF.js v4.2.67を利用するか、isEvalSupported: falseにすることで回避できる。

CVE-2024-4367 - Arbitrary JavaScript execution in PDF.js — Codean Labs

Next.jsのSSRF脆弱性 CVE-2024-34351

Next.jsで発覚したSSRF脆弱性のまとめ記事。

Next.jsのSSRF脆弱性 CVE-2024-34351

Next.jsをself hostingで運用しており、Sever Actions内でredirect()を/からはじまるパスで呼んでいる場合に、httpヘッダーのhostを書き換えることでself hostingなNext.jsサーバーから任意のhttpリクエストを送信できてしまう/内部APIにリクエスト可能になる脆弱性。

Firebase App Hosting

Google I/O 2024で発表されたGitHubとの連携も可能なSSR対応のホスティングサービス

Introducing Firebase App Hosting

Vercelから追加の対応なしで移行できたとのこと。

Google I/O 2024で発表されたFirebase App HostingでNext.jsのSSRを試す

Notion、PDFやGoogleドキュメントをサポート

PDFやGoogleドキュメントをNotionページとしてインポートできるようになりました。

What’s New – Notion

Others

Beyond CSS Media Queries

メディアクエリはビューポートしか考慮できない/管理が難しいなどの問題があるので、レスポンシブの実装にFlexboxやGrid、min/max/clampやvw/vh、コンテナクエリを使おうという記事。

Beyond CSS Media Queries — Smashing Magazine

メディアクエリで書かれてきたレスポンシブ対応はこれらで置き換え可能な上、より柔軟に様々なデバイスにフィットした画面を提供できる。ただし代替手段はどれも理解していないと扱いが難しく、実装者がデザインにない中間層も意識して実装する必要があるため、スキルが求められる。一方、メディアクエリでは、最悪デザイン通りのビューポートを実直に再現すればいいので短期で見ればお手軽ではあるが、メディアクエリの扱いに十分気を付けていないとブレークポイントが再現なく増えたり下限/上限の制御が入り乱れカオスになっていく。

React Queryとタイトルにあるが、非同期な状態を扱うときに考える必要があることを分かりやすく説明している記事。React Queryはそもそもデータ取得をしておらず、データ取得ライブラリではなく非同期状態マネージャーであるというのはそう。SWRなども同じ。

Why React Query?

Real World HTTPの第3版ができあがりました | フューチャー技術ブログ

無料版のミニ版も更新されている。

Real World HTTP 第3版 ミニ版

Geminiベースの新WebIDE「Project IDX」をオープンベータで公開

[速報]Google、Geminiベースの新WebIDE「Project IDX」をオープンベータで公開

Web IDEなどで次の画面を進めていけばWeb上で試せる

Project IDX

Android 15は変体仮名をデフォルトでサポート。デバイス自体にバンドルすべきなのかは疑わしい。

Android 15は変体仮名をデフォルトでサポート、Googleが発表

400行で動くReactのミニマム実装、hooksを添えて。Reactの仕組みをざっくり知るのに良さそう。

Build Your Own React.js in 400 Lines of Code

良さそう

Amazon.co.jp: GitHub CI/CD実践ガイド――持続可能なソフトウェア開発を支えるGitHub Actionsの設計と運用 (エンジニア選書) : 野村 友規: Japanese Books

社内向けStreamlitのデプロイの現実解