产品 API 示例允许未经身份或权限检查的数据库创建,并直接接受整个请求体
原文依据:1 处POST 处理器解析调用者提供的 JSON 后,将其完整传给 db.product.create。示例中没有身份验证、角色检查、字段白名单或结构验证。
如果该模式被直接用于可访问的路由,任何能够调用端点的人都可能创建产品,或通过额外字段修改价格、所有者、发布状态等本应受控的属性。
这是文档中的示例而非正在运行的代码,但该技能明确提供可用于构建全栈功能的模式。若用户照搬此 POST 处理器,任何能访问端点的调用者都可把任意 JSON 直接交给数据库创建产品;示例未显示身份认证、创建权限、字段白名单或结构验证,可能导致未授权记录或敏感字段被写入。用户可要求作者补充认证、角色授权和严格输入模式,或限制该示例不得直接用于生产环境。
export async function POST(request: NextRequest) { const body = await request.json(); const product = await db.product.create({ data: body, }); return NextResponse.json(product, { status: 201 });}