CodeShot
Midسختی 2 از ۵· در 68٪ مصاحبه‌های این حوزه پرسیده شده

چرا هرگز نباید فقط به اعتبارسنجی سمت کلاینت اکتفا کرد؟

نشان کردن

پاسخ کوتاه

چون اعتبارسنجی سمت کلاینت (JavaScript/فرم HTML) به‌راحتی قابل دور زدن است — مهاجم می‌تواند مستقیم به API درخواست بفرستد و کاملاً از کلاینت عبور کند.

پاسخ کامل

اعتبارسنجی کلاینت فقط برای تجربهٔ کاربری سریع (بازخورد فوری بدون رفت‌وبرگشت به سرور) است؛ تنها اعتبارسنجی سمت سرور واقعاً از داده‌های نامعتبر یا مخرب محافظت می‌کند، چون سرور تنها نقطه‌ای است که مهاجم نمی‌تواند آن را تغییر دهد.

نکته مهم

در ASP.NET Core، FluentValidation یا Data Annotations باید همیشه روی API (نه فقط فرانت‌اند) اجرا شود.

اشتباه رایج

❌ حذف اعتبارسنجی سمت سرور «چون فرانت‌اند قبلاً چک کرده».