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) => {
// Коркарди дархост пас аз санҷиши муваффақи токен
});