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

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

Итак, после работы с PHP некоторое время. Вы можете просто «повторить» что-то в документе, чтобы вернуть данные с сервера, например, IP-адрес.

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

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

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

Итак, вкратце, более понятные термины.
Является ли технически безопасным удаление NodeJS из документа перед его отображением — оцените этот скрипт 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));
});

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

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

0

Решение

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

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

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

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

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

После завершения он передает результат в механизм представления или просто возвращает простой просмотр через этот механизм.

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

Это в основном работает после Контроллер модельного вида шаблон.

Некоторые виды двигателей:

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]