Данные внутреннего документа заменить на NodeJS

0

Итак, я довольно новичок в NodeJS и в любом программировании в целом, и я не уверен, правильно ли я это сделаю. Я занимаюсь такими вещами, так как мне было 9 или 10 (в настоящее время 13). Поэтому, прежде чем я углубился в NodeJS, я хотел убедиться, что правильно его использую.

Итак, после работы с PHP в течение некоторого времени. Вы можете просто "эхом" что-то в документе вернуть данные с сервера, например, IP-адрес.

<?php
  echo $_SERVER["REMOTE_ADDR"];
?>

Это эффективно отразило бы IP-адрес пользователя везде, где бит PHP находится в документе - анализируется модулем Apache (правильно?)

В чем смысл этого? Есть ли способ воссоздать синтаксис NodeJS с-в документе, который затем анализируется HTTP-сервером NodeJS для получения любого NodeJS между, позволяет сказать <nodejs>script</nodejs>.

Итак, в более короткие, понятные термины. Технически безопасно выводить NodeJS из документа до его отображения - eval, что Nodejs-скрипт, затем удалить его и отобразить.

Хотя это звучит как-то отрывочно. Поэтому я использую альтернативный метод. Но я не уверен, будет ли это технически безопасным.

Прямо сейчас, в документе, у меня будет что-то вроде <p>Your IP is [*IP*]</p>, который я использую модуль файловой системы NodeJS, чтобы сделать что-то вроде этого:

app.get("/", function(req, res){
  res.send(fs.readFileSync(__dirname + "index.html").replace(/\[\*IP\*\]/g, req.connection.remoteAddress));
});

Хотя, это просто кажется мне немного неудобным. И поскольку у меня нет большого опыта в аспекте безопасности веб-разработки, я надеялся, что смогу понять, насколько это безопасно или небезопасно. Как бы я это сделал?

Спасибо, что нашли время, чтобы прочитать и помочь мне улучшить свои знания по этой теме!

Теги:
express
server-side

1 ответ

1
Лучший ответ

Я не думаю, что это вопрос безопасности или что-то в этом роде, но вопрос о том, как Node.js работает по сравнению с PHP.

PHP в основном, как вы правильно написали, основывается на файлах. Таким образом, вы создаете текстовый файл с расширением.php, помещаете свою разметку HTML и, возможно, какую-то логику (например, распечатываете ip-адрес) и что это. Остальное выполняется веб-сервером, главным образом Apache, который отправляет каждый запрос в.php файл через "движок PHP", который интерпретирует ваш код и отображает результат для клиента (который в вашем случае является вашим браузером).

Node.js не работает. Вместо поиска файла, который затем интерпретируется и возвращается, наиболее распространенным (а не единственным) способом является использование "промежуточного программного обеспечения", которое обрабатывает запрос.

Сначала он ищет "конечную точку" для каждого запроса. В широком смысле вы можете зарегистрировать функцию для каждого маршрута, как это было в вашем примере кода для маршрута "/" (также может быть ("/what-is-my-ip").

Эта функция - ваше "действие контроллера", которое может выполнять некоторую бизнес-логику, как выбор ip-адреса.

Закончив это, он передает результат в механизм просмотра или просто возвращает простой вид через этот движок.

Представление в основном состоит в том, что ваш.php будет, но он не содержит никакой логики, что является основным отличием от PHP.

Он в основном работает после шаблона контроллера модели.

Некоторые механизмы просмотра:

Ещё вопросы

Сообщество Overcoder
Наверх
Меню