๐ŸŽซ
Xavfsizlik

CSRF tokens: forma xavfsizligi

22.02.2025
โ† Barcha maqolalar

CSRF (Cross-Site Request Forgery) โ€” foydalanuvchi nomidan saytda harakat qildirish. Misol: bank saytida 'login' qilingansiz, begona sayt sizning bankka 'pul o'tkaz' so'rovi yuboradi.

Hujum mexanizmi

1) Siz bank.uz'ga login qilgansiz, cookies bor. 2) hacker.com saytiga kiryapsiz. 3) hacker.com da yashirin form bank.uz/transfer'ga POST so'rov yuboradi. 4) Brauzer cookielaringizni avtomatik qo'shadi โ€” bank sizni vakolatli ko'radi.

Himoya: CSRF token

Har formada yashirin maydon: <input type='hidden' name='csrf_token' value='RANDOM_STRING'>. Server token to'g'ri ekanini tekshiradi.

Token yaratish

PHP: $_SESSION['csrf'] = bin2hex(random_bytes(32)). Har sessiya alohida. Token ses bilan tasdiqlanadi โ€” boshqa saytdan kelmaydi.

SameSite cookies

Set-Cookie: session=...; SameSite=Strict. Cookie faqat o'sha saytdan kelgan so'rovda yuboriladi. Modern brauzerlar Lax/Strict default.

Double Submit Cookie

Token cookie va form maydonida bir xil bo'lsin. Server ikkalasini taqqoslaydi.

Custom header

AJAX so'rovlar uchun: X-CSRF-Token header. Boshqa sayt header yubora olmaydi (preflight).

Framework

Laravel @csrf, Symfony FormType, Express csurf middleware. Eng yaxshi โ€” framework'ning ichki mexanizmi.

Test

Browser DevTools'da forma submit qiling, csrf_token o'zgartirib โ€” 403 chiqishi kerak.

O'xshash maqolalar

๐Ÿ” Parol menejerlar โ€” Bitwarden, 1Password, LastPass va KeePass tanlovi ๐Ÿฏ Honeypot โ€” formada yashirin maydon, botlarni ushlaydi va spamni to'xtatadi ๐Ÿ“„ /.well-known/security.txt โ€” xavfsizlik bo'yicha bog'lanish standart ๐Ÿ“‹ GDPR moslik โ€” Yevropa ma'lumotlarini himoya qilish majburiyatlari
๐ŸŒ Til
๐Ÿ‡บ๐Ÿ‡ฟ O'zbek โœ“ ๐Ÿ‡บ๐Ÿ‡ฟ ะŽะทะฑะตะบ ๐Ÿ‡ท๐Ÿ‡บ ะ ัƒััะบะธะน ๐Ÿ‡ฌ๐Ÿ‡ง English