2016-04-19 4 views
0

Я хочу, чтобы nodejs не возвращал мои секретные файлы pem миру. Используя экспресс, япредотвратить возвращение файлов pem из nodejs express

app.use(express.static('html'), function (req, res, next) 
{ 
    var pathname = parseurl(req).pathname 
    if (pathname.indexOf('.pem') >= 0) 
    res.status(403).send('<h1>403 Forbidden</h1>') 
    else 
    next() 
}); 

, но я до сих пор в состоянии загрузить .pem файл с моего сайта (который является проблемой безопасности для меня)

ответ

1

Я полагаю, что вы двигаете .pem (и любой другие конфиденциальные файлы) полностью из любого пути, который узел/экспресс думает, является обслуживаемым контентом.

Я был бы обеспокоен тем, что даже если вы получите код примера для работы, ваш pem уязвим для текущего или будущего использования узла/эксплойта.

Вам не нужен эквивалент замков на автомобилях, защищающих ваши секреты ;-)

+0

это имеет смысл. поэтому, если я перемещаю файл .pem в один каталог (вне каталога html), я все равно должен иметь доступ к нему в своем javascript, говоря var path_to_pem = '../mypem.pem'; – user1709076

+0

Когда вы говорите в своем javascript, вы имеете в виду серверную сторону в узле или на стороне клиента? Я не думаю, что вы хотите, чтобы какая-либо клиентская сторона могла получить доступ к конфиденциальным файлам. Но серверная сторона, да, вы можете поместить ее в любой каталог, к которому у вас есть доступ RW. – GojiraDeMonstah

+0

да, поэтому я бы создал конечную точку для/api/push (которая является общедоступной ... im все еще думает о том, как с этим бороться), но .pem не находится в содержимом, обработанном html – user1709076