2016-04-19 7 views
0

Ich möchte verhindern, dass NodeJs meine geheimen PEM-Dateien an die Welt zurückgeben. Mit Express, ich habeverhindern Sie die Rückkehr PEM-Dateien von 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() 
}); 

, aber ich bin noch in der Lage, die .pem-Datei von meiner Website herunterladen (was für mich ein Sicherheitsproblem ist)

Antwort

1

Ich schlage vor, dass Sie Ihre .pem bewegen (und jede andere sensible Dateien) vollständig aus irgendeinem Pfad, den Node/Express als dienstefähigen Inhalt betrachtet.

Ich würde mir Sorgen machen, dass selbst wenn Sie Ihren Beispielcode zum Laufen bringen, Ihr Pem anfällig für einen aktuellen oder zukünftigen Node/Express Exploit ist.

Sie wollen nicht das Äquivalent von Schlössern-on-Auto-Türen schützen ;-) Ihre Geheimnisse

+0

, die Sinn macht. Wenn ich also die .pem-Datei in ein Verzeichnis (außerhalb des html-Verzeichnisses) verschiebe, sollte ich trotzdem in meinem JavaScript darauf zugreifen können, indem ich sage var path_to_pem = '../mypem.pem'; – user1709076

+0

Wenn Sie in Ihrem Javascript sagen, meinen Sie Server-Seite in Knoten oder Client-Seite? Ich glaube nicht, dass Sie irgendwas Client-seitiges auf sensible Dateien zugreifen möchten. Aber serverseitig, ja, du könntest es in jedes Verzeichnis legen, auf das du Zugriff hast. – GojiraDeMonstah

+0

ja, also würde ich einen Endpunkt für/api/push erstellen (was öffentlich ist ... ich denke immer noch darüber nach, wie man damit umgeht), aber die .pem ist nicht im HTML-Inhalt – user1709076