Я не могу точно сказать, что токен имеет отношение к вашему вопросу, но если вы просто спрашиваете, безопасен ли ваш код express.static()
:
web.use(express.static(path.join(__dirname, 'public')));
Тогда ответ таков: express.static()
(по умолчанию) не разрешает доступ ни к каким файлам за пределами каталога, который вы передаете. в вашем примере он обеспечивает доступ только к иерархии каталогов public
. Если вы посмотрите на do c для express.static()
, вы увидите параметр для dotfiles
, который имеет следующие настройки:
Possible values for this option are:
"allow" - No special treatment for dotfiles.
"deny" - Deny a request for a dotfile, respond with 403, then call next().
"ignore" - Act as if the dotfile does not exist, respond with 404, then call next().
Значение по умолчанию для этой опции: "ignore"
и вернет 404.
Итак, мой вопрос: могут ли люди иметь доступ к любому файлу, который не находится в папке publi c?
Не через ваше express.static()
промежуточное ПО. Таким образом, единственный способ получить доступ к другим файлам на вашем сервере - это если у вас есть какой-то другой маршрут, который явно позволяет им запрашивать эти файлы.
В другом показанном вами маршруте, который, по-видимому, требует отправки соответствующего токена вместе с маршрутом, прежде чем вы отправите контент. Этот указанный c обработчик маршрута должен отправить какой-то ответ (возможно, ответ об ошибке), когда токен не совпадает.