TGViewer
CodeVerse | دنیای برنامه نویسان CodeVerse | دنیای برنامه نویسان @codeverse_dev · 1.06K subscribers
Post #468 362
🔐 این اشتباه کوچیک می‌تونه API رو به روی همه باز کنه!

یه اشتباه ساده در APIها:
app.get('/users/:id', (req, res) => {
return User.findById(req.params.id);
});

ظاهر کد کاملاً عادیه.

ولی سؤال مهم:

آیا کاربر اجازه داره اطلاعات User ID شماره ۵۲ رو ببینه؟

اگر فقط وجود داشتن ID کافی باشه، ممکنه کاربر بتونه ID رو عوض کنه:
/users/51
/users/52
/users/53
/users/54

و اطلاعات کاربران دیگه رو ببینه.

این نوع مشکل معمولاً با عنوان IDOR / Broken Object Level Authorization شناخته میشه.

نکته مهم اینه که:

Authentication میگه:

«تو کی هستی؟»

Authorization میگه:

«تو اجازه داری این کار رو انجام بدی؟»

خیلی از APIها اولی رو درست انجام میدن ولی دومی رو فراموش می‌کنن.

پس دفعه بعد که API نوشتی، فقط نپرس:

«کاربر لاگین هست؟»

بپرس:

«این کاربر اجازه دسترسی به همین Resource رو داره؟»

@CodeVerse_dev
  • ❤ 9
More from @codeverse_dev
  1. Oct 7, 2026👨‍💻 برنامه‌نویسی با AI راحت‌تر شده؛ پس چرا بعضی Developerها خسته‌تر شده‌اند؟ طبق نظرسنجی…
  2. Oct 7, 2026🚨 وردپرس 7.1.3 منتشر شد؛ این یکی را عقب نینداز وردپرس دیروز نسخه 7.1.3 را منتشر کرد؛ یک آ…
  3. Oct 6, 2026شرکت Google وارد یک درگیری جدی با ناشران شده ⚖️ رگولاتور رقابت لهستان اعلام کرده Google را…
  4. Oct 6, 2026اگر Windows 11 داری، قبل از نصب بعضی آپدیت‌ها حواست باشد ⚠️ مایکروسافت تأیید کرده آپدیت پی…
  5. Oct 6, 2026اگر Chrome استفاده می‌کنی، این آپدیت را جدی بگیر ⚡ نسخه Stable مرورگر Chrome برای دسکتاپ ب…
  6. Oct 6, 2026🖥 سازنده محتوایی؟ ویندوزت بدون این ۵ نرم‌افزار نصفه‌ست! خب راستشو بخوای، من خودم تا چند و…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →