ムーザルちゃんねるのzaruです、こんにちは。今回はNext.js AppRouterのServer Actionsで "use server"; を勘違いして使うと危ないケースがあるよというのを紹介します。 以前書いた"use server"; でexportした関数が意図せず?公開されるとはまた違うケースだったので改めて書きます。 今回のケースが発生することは稀だと思いますが、Server Actionsの仕組みを勘違いしてしまっていたり雰囲気で使っているとセキュリティリスクをはらむコードになってしまいます。 例として、以下のようなフォームのデータフローを実装したとします。3つのファイルに分かれています。 <form> のデータを submitForm() 関数で受け取り、バリデーションを実行します。バリデーションに問題がなければ insertRecord() 関数でデータを保存します