От чего этот скрипт защищает Подделка межсайтовых запросов или CSRF .Проверка реферера является одной из двух основных защит от этой атаки.Единственная проблема заключается в том, что если на сайте есть какой-либо пользовательский контент, то они могут добавить что-то вроде:
<img src="/src/to/your/ajax?params=something_evil" />
, которое все равно будет его выполнять.Вторым наиболее распространенным методом предотвращения является использование токена CSRF для ajax.Вот два ресурса, чтобы узнать больше об этой атаке:
Описание: https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)
Предупреждение: https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet
Редактировать:
Небольшое уточнение, которое может устранить путаницу в теме.
Любой пользователь может подделать заголовок реферера, но это не имеет значения.Причина, по которой это не имеет значения, состоит в том, что, если они могут подделать реферера, они могут так же легко сделать законный запрос.
Важной частью здесь является обеспечение того, что они не могут подделать запрос от любого другогопользователь .Это единственный аспект, который имеет значение и единственная причина для проверки реферера и защиты от атак CSRF.