کیهانKEYHAN
جاوااسکریپتامنیت و عملکرد

امنیت فرم‌ها در وب: اعتبارسنجی سمت سرور با zod

اعتبارسنجی سمت کاربر برای تجربه‌ی کاربری است، نه امنیت. با zod داده‌ی ورودی را روی سرور با یک طرح‌واره‌ی واحد بررسی کنید.

۱ دقیقه مطالعهتیم کیهان
امنیت فرم‌ها در وب: اعتبارسنجی سمت سرور با zod

هر داده‌ای که از مرورگر می‌آید قابل‌دست‌کاری است. پس قوانین اصلی باید روی سرور اجرا شوند. کتابخانه‌ی zod این کار را ساده و نوع‌امن می‌کند.

تعریف طرح‌واره

TypeScript
import { z } from 'zod'

export const orderSchema = z.object({
  name: z.string().trim().min(3).max(80),
  mobile: z.string().regex(/^09\d{9}$/),
  budget: z.tuple([z.number().int(), z.number().int()]),
  description: z.string().trim().min(20).max(3000),
})

استفاده در یک route handler

TypeScript
export async function POST(req: Request) {
  const parsed = orderSchema.safeParse(await req.json())
  if (!parsed.success) {
    return Response.json({ error: 'داده‌ی ارسالی معتبر نیست' }, { status: 400 })
  }
  await saveOrder(parsed.data) // اینجا داده تمیز و نوع‌دار است
  return Response.json({ ok: true }, { status: 201 })
}

چند لایه‌ی دیگر

  • محدودیت نرخ (rate limit) برای هر IP

  • فیلد تله (honeypot) برای ربات‌ها

  • محدودیت حجم بدنه‌ی درخواست

اشتراک‌گذاری:تلگرامواتساپایکسلینکدین
تیم کیهان

تیم طراحی و توسعه‌ی کیهان؛ ما سایت می‌سازیم و آنچه یاد می‌گیریم را اینجا می‌نویسیم.

خبرنامه‌ی کیهانآموزش‌های تازه‌ی وب و وردپرس، ماهی یکی دو بار. بدون اسپم.

دیدگاه‌ها

هنوز دیدگاهی نیست؛ نخستین نفر باشید.

دیدگاه خود را بنویسید

امنیت فرم‌ها در وب: اعتبارسنجی سمت سرور با zod | امین تبریزی