--- title: Cross Site Request Forgery localeTitle: Подделка запросов на межсайтовый запрос --- ## Подделка запросов на межсайтовый запрос Cross-Site Request Forgery - это уязвимость в приложении, вызванная тем, что программист не проверяет, куда был отправлен запрос, - эта атака отправляется пользователю с высоким уровнем привилегий для доступа к приложению более высокого уровня. ### Пример кросс-сайта Онлайновый блог позволяет пользователям отправлять комментарии и включать изображение в комментарий, панель администратора блога позволяет автору блога удалять комментарий, загружая URL `/admin/deletecomment.php?id=123` . Злоумышленник может создать тег изображения, который загружает URL-адрес комментария удаления, например, `` поэтому в следующий раз, когда администратор просмотрит комментарий, компьютер администратора загрузит URL-адрес и удалите номер комментария 123. ### Защита вашего сайта от атак на подделку запросов на PHP Чтобы защититься от атаки подделки с запросами на кросс-сайт, вы должны проверить против регулярно измененного токена. URL `/admin/deletecomment.php?id=123` изменится на `/admin/deletecomment.php?id=123&csrf-token=random-per-user-unique-string-here` . ```PHP Delete Comment'; // Only the logged in user has access to the CSRF Token - the token isn't accessible to the attacker preventing their attack from being successful. ``` #### Дополнительная информация: * [OWASP Wiki - Подделка запросов на межсайтовый запрос](https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)) * [Руководство пользователя php.net bin2hex ()](https://secure.php.net/manual/en/function.bin2hex.php) * [Руководство пользователя php.net openssl\_random\_pseudo\_bytes ()](https://secure.php.net/manual/en/function.openssl-random-pseudo-bytes.php)