Я пытаюсь развернуть форму, демонстрирующую уязвимость SQL-инъекции.Недостатки безопасности относительно этого являются преднамеренными.Тем не менее, у меня есть эта ошибка ENOENT на моем сервере node.js.Мне кажется, это правильно, и я возился в течение некоторого времени.Я надеюсь, что есть какая-то помощь, чтобы получить от SO.
Это мой скрипт с именем jwt.js.
'use strict';
const fs = require('fs');
const jwt = require('jsonwebtoken');
var privateKey = fs.readFileSync('./private.key', 'utf8');
var publicKey = fs.readFileSync('./public.key', 'utf8');
const i = 'my name';
const signOptions = {
issuer: i,
expiresIn: "12h",
algorithm: "RS256"
};
const verifyOptions = {
issuer: i,
expiresIn: "12h",
algorithm: ["RS256"]
};
exports.signToken = function(payload){
return jwt.sign(payload, privateKey, signOptions);
}
exports.verifyToken = function(){
return jwt.verify(token, publicKey, verifyOptions);
}
При попытке запустить скрипт с ǹode jwt.js
и console.log(jwt.sign({"something":"random"}, privateKey, signOptions));
внижняя часть сценария.Это правильно возвращает ключ:
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzb21ldGhpbmciOiJsb2wiLCJpYXQiOjE1NTcxNzA1NTksImV4cCI6MTU1NzIxMzc1OSwiaXNzIjoiSm9uYXMgR3LDuG5iZWsifQ.cuKRFYsUBopRabiJV10qDXo0KckeQ7lbKLdsKek2otIVtkE988bKqU1x0dr75a9prowgciYCMbsPRQ-69iOzAA
Однако, когда я использую signToken()
функция экспортированного из jwt.js
в сценарии вта же папка работает.Однако, когда я использую его в сценарии в другой папке, импортируя его.Это вызывает у меня ошибку enoent?
Чтобы уточнить
РАБОТАЕТ
let signToken = require("./jwt").signToken;
console.log(signToken({"": ""}))
DOESN 'T WORK
let signToken = require("../../../jwt/jwt").signToken
console.log(signToken({"": ""}));
Я также пытался заменить fs.readFileSync
на обратные вызовы, подобные этому, чтобы сделать его асинхронным, поскольку кто-то указал, что он может испортить файл node.js * 1034.*
let privateKey;
let publicKey;
fs.readFile('./private.key', 'utf8', (err, data) => {
if(err) throw err;
privateKey = data;
});
fs.readFile('./private.key', 'utf8', (err, data) => {
if(err) throw err;
publicKey = data;
});
Может кто-нибудь указать, в чем я не прав, и объяснение будет ДЕЙСТВИТЕЛЬНО оценено!