Har qanday foydalanuvchi API orqali boshqa mijozlarning buyurtmalarini o‘qiy oladi
Tavsif
Buyurtmalar endpointi berilgan har qanday ID bo‘yicha buyurtmani qaytaradi. U foydalanuvchi tizimga kirganini tekshiradi, lekin buyurtma unga tegishli ekanini tekshirmaydi.
Ta’sir
Ro‘yxatdan o‘tgan har qanday foydalanuvchi so‘rovdagi bitta raqamni o‘zgartirib, barcha mijozlarning buyurtmalarini — ismlar, yetkazib berish manzillari va buyurtmalar tarixini — o‘qiy oladi.
Dalil
GET /api/orders/10482 HTTP/1.1
Host: shop.example.com
Authorization: Bearer <token of user B>HTTP/1.1 200 OK
Content-Type: application/json
{ "id": 10482, "customer": "user A", "address": "[redacted]", "items": [ … ] }Takrorlash
- A foydalanuvchi sifatida kiring va buyurtma bering; uning ID raqamini yozib oling.
- Alohida sessiyada B foydalanuvchi sifatida kiring.
- B foydalanuvchining tokeni bilan A foydalanuvchining buyurtma ID’sini so‘rang.
- API 403 Forbidden o‘rniga A foydalanuvchining buyurtmasini qaytaradi.
Tuzatish
Har bir obyekt so‘rovida egalikni serverda tekshiring: buyurtmani faqat egasi autentifikatsiyadan o‘tgan foydalanuvchiga mos kelsa yuklang, aks holda 404 qaytaring. Xuddi shu tekshiruvni obyekt ID qabul qiladigan har bir endpointga qo‘llang.
Qayta test
Tuzatildi · qayta tekshirildi. Endpoint endi boshqa foydalanuvchiga tegishli buyurtmalar uchun 404 qaytaradi.