Я знаю, что это небезопасно, по крайней мере, он что-то сделал.Моя проблема будет выше кода кода сбой моего сервера, если реферер отсутствует.
Да, это будет сбой.В вашем коде, если Referer
не отправлено, вы получите эту ошибку
TypeError: Cannot read property 'split' of undefined
Так как вы используете экспресс, вы можете использовать req.header () , делаякод немного короче и безопаснее:
const mySite = (req.header('Referer') || '').split('/')[2];
// ^^^ case insensitive header check
Я использовал req.header('Referer') || ''
, чтобы убедиться, что мы всегда получаем строку, даже если заголовок не установлен, поэтому безопасно .split
.
Помимо отсутствия учета регистра, преимущество использования req.header()
заключается в том, что поля «Referrer» и «Referer» являются взаимозаменяемыми .