CSRF Объяснено по аналогии - Пример:
Представьте, что вы открываете входную дверь, используя ключ - ваш ключ. никто другой не имеет вашего ключа. Вы открываете дверь, но перед тем, как войти внутрь, ваш сосед звонит вам через дорогу, и вы оба очень дружелюбно беседуете о погоде или, возможно, о последних твиттах президента Трампа в 3.45 и т. Д. вы, кто-то другой видит вас снаружи, и решает выдать себя за вас, надев ту же одежду и прическу, и решает пойти в ваш собственный дом, притворяясь вами!
Никто в твоем доме не замечает ничего другого - твоя жена похожа, "о боже, он дома".
Имитатор помогает себе на все ваши деньги и, возможно, поиграет в Xbox, и никто не станет мудрее.
CSRF в основном опирается на тот факт, что вы открыли дверь в свой дом, а затем оставили ее открытой, позволяя кому-то еще просто войти и притвориться вами.
Как решить эту проблему?
Когда вы впервые открываете дверь в свой дом, вам дается бумага с длинным и очень случайным числом, написанным вашим дверным служащим:
"ASDFLJWERLI2343234"
Теперь, если вы хотите попасть в свой собственный дом, вы должны подарить этот кусок бумаги дверному прохожему.
Итак сейчас когда подражатель пытается проникнуть в ваш дом, дверной человечек спрашивает:
«Какое случайное число написано на бумаге?»
Если подражатель не имеет правильного числа, он не сможет войти. Либо это, либо он должен правильно угадать случайное число - что является очень сложной задачей. Что еще хуже, случайное число действительно только в течение 20 минут (например). Так что знайте, что подражатель должен правильно угадать, и не только это, у него есть всего 20 минут, чтобы получить правильный ответ. Это слишком много усилий! И он сдается.
Конечно, аналогия немного натянута, но я надеюсь, что она вам пригодится.
** crud = (Создать, прочитать, обновить, удалить)