Я пытаюсь сделать свое уведомление об исключении немного умнее. В настоящее время, если у меня есть неверная ссылка на ресурс, такая как файл javascript с неправильным именем, указанный в теге ссылки на файл, это вызывает ошибку «Нет совпадений маршрута». Я также получаю сообщение об ошибке «Нет совпадений маршрутов», если кто-то просто набирает какой-то случайный URL (например, при попытке взломать сайт). Я пытаюсь определить разницу между этими двумя типами ошибок «нет совпадений маршрутов», поэтому я могу отправить сообщение «что-то сломалось» в первом случае и сообщение «кто-то пытался взломать сайт» во втором случае.
Я подумал, что смогу сделать это, посмотрев на request.referer, думая, что в случае, если на одной из моих страниц есть ссылка на несуществующий файл, что реферер будет моим сайтом.
Это работает для ссылок на страницы: то есть, если на одной из моих страниц есть ссылка на страницу , которая не существует, то request.referer отображается как страница с неверной ссылкой, и поэтому я знаю, что это настоящая ошибка внутри сайта. Но для ссылок на ресурсы, такие как таблицы стилей, файлы javascript и изображения, они равны нулю, так же, как если бы кто-то сделал какой-то случайный запрос из-за пределов сайта. Так что я не могу отличить.
Я вижу это в режиме разработки, где все ссылки на файлы указывают только на localhost: 3000 - на своем сервере я использую трюк assets0 -> assets3, чтобы браузер думал, что он извлекает файлы с четырех разных серверов. Я просто упоминаю об этом на случай, если это усложнит ситуацию.
Как я могу отличить? Благодарен за любой совет - max