Sobes.tech
Junior

CSRF чист?

sobes.tech AI

Ҷавоб аз AI

CSRF (Cross-Site Request Forgery) — як навъи ҳамла аст, ки дар он ҳамлагар корбарро маҷбур мекунад, ки амалҳои номуносибро дар вебсайти, ки аллакай ворид шудааст, иҷро кунад.

Маънии ҳамларо он аст, ки сайт ё почтаи зарарнок дар бар мегирад дархости, ки браузери корбар автоматӣ ба сайт ҳадаф мефиристад. Агар корбар дар сайт ворид шуда бошад, браузери ӯ cookies-ро мефиристад ва дархост бо ҳуқуқҳои ӯ иҷро мешавад.

Масалан, ин метавонад дархости иваз кардани парол, интиқоли пул ё нест кардани аккаунт бошад.

Барои муҳофизат аз CSRF, усулҳои гуногун истифода мешаванд:

  • Tokenҳои CSRF: токенҳои махфӣ ва беназири ҳар дархост, ки дар сервер таҳия мешаванд ва бо ҳар форм ё дархости AJAX фиристода мешаванд. Сервер мувофиқати токенро санҷидааст.
  • Атрибути cookie SameSite: қоидаеро муқаррар мекунад, ки cookies танҳо дар дархостҳои аз домени ҳамон ҷо, ки онҳо муқаррар шудаанд, фиристода мешаванд.
  • Таҳқиқи сарлавҳаҳои Origin ва Referer: сервер меъёрро санҷидааст, ки аз куҷо дархост омадааст. Аммо, ин сарлавҳаҳо метавонанд аз ҷониби ҳамлагар тағир дода шаванд ё дар баъзе ҳолатҳо набошанд.
  • Талаб кардани дубора аутентификация барои амалҳои муҳим: дархости парол пеш аз иҷрои амали муҳим.

Дастгоҳи самаранок ва маъмултарин истифодаи токенҳои CSRF мебошад.

// Нусхаи илова кардани токени CSRF ба форм
<form action="/transfer" method="POST">
  <input type="hidden" name="_csrf_token" value="токени, ки аз ҷониби сервер таҳия шудааст">
  <input type="number" name="amount">
  <button type="submit">Трансфер</button>
</form>
// Нусхаи санҷиши токени CSRF дар сервер (Node.js бо Express)
app.post('/transfer', csrfProtection, (req, res) => {
  // Коркарди дархост пас аз санҷиши муваффақи токен
});