API Security1 دقیقه مطالعه
امنیت API یعنی چه؟
مجموعهای از اصول برای محافظت از یک API در برابر دسترسی غیرمجاز، سوءاستفاده و افشای داده — فراتر از فقط Authentication.
چرا مهم است؟
APIهای امروزی مستقیماً توسط موبایل، فرانتاند و سرویسهای دیگر مصرف میشوند و اغلب هدف مستقیم حملهاند؛ امنیت API فقط چککردن توکن نیست، لایههای مختلفی دارد.
لایههای کلیدی امنیت API
- Authentication/Authorization: بررسی هویت (JWT/OAuth2) و بررسی دسترسی روی هر Endpoint.
- Rate Limiting: جلوگیری از سوءاستفاده یا حمله Brute-Force با محدودکردن تعداد درخواست در بازه زمانی.
- Input Validation: اعتبارسنجی هر پارامتر ورودی، حتی در APIهای داخلی.
- کمترین داده لازم در پاسخ (Least Data Exposure): فقط فیلدهایی که کلاینت واقعاً نیاز دارد را برگردانید، نه کل مدل دیتابیس.
مثال: Rate Limiting در ASP.NET Core
builder.Services.AddRateLimiter(options =>
options.AddFixedWindowLimiter("api", opt =>
{
opt.PermitLimit = 100;
opt.Window = TimeSpan.FromMinutes(1);
}));
app.UseRateLimiter();
app.MapGet("/api/orders", GetOrders).RequireRateLimiting("api");
اشتباه رایج
❌ برگرداندن کل Entity دیتابیس (شامل Hash رمز عبور یا فیلدهای داخلی) مستقیم بهعنوان پاسخ API — همیشه از DTO مشخص استفاده کنید، نه Serialize مستقیم Entity.
منبع و مطالعه بیشتر
خلاصه
امنیت API چند لایه دارد: Authentication/Authorization، Rate Limiting، اعتبارسنجی ورودی و بازگرداندن حداقل داده لازم با DTO مشخص، نه خود Entity دیتابیس. مرجع کامل: OWASP API Security Top 10.
این مطلب مفید بود؟
☆نشان کردن