Отправка данных на сервер NodeJS из формы Wordpress - PullRequest
0 голосов
/ 05 мая 2019

Я использую Wordpress в качестве CMS и хочу отправить данные из формы Wordpress HTML на мой сервер NodeJS для обработки.Какой надежный и надежный способ добиться этого?(NodeJS находится на отдельном сервере от Wordpress)

Ниже приведен скрипт JQuery, который я добавил на странице Wordpress:

<form id="sendForm">
 <input type="text" name="email" placeholder="E-mail">
 <button type="button" name="button" id="submitButton">submit</button>
</form>

<script type="text/javascript">
 var myNodeJSServer = "http://myNodeServer.com";
 jQuery("#submitButton").click(function() {
  jQuery.post(myNodeJSServer, jQuery("#sendForm").serialize());
 });
</script>

Чтобы это работало, мне пришлось разрешить все источники вУзловой сервер.Разве это не безопасно для производственной среды?

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});

1 Ответ

0 голосов
/ 05 мая 2019

For this to work, I had to allow all origins in the Node server. Is this not secure for a production environment?

Это определенно не лучшая практика;всегда есть риск, связанный с любым общедоступным веб-сервером, поэтому вы всегда должны стремиться уменьшить поверхность своей атаки.В этом случае вам абсолютно необходимо ограничить источники, с которых вы будете принимать данные.

См. Документацию MDN для Access-Control-Allow-Origin :

res.header("Access-Control-Allow-Origin", "https://developer.mozilla.org")

Я не знаю, каков ваш исходный домен, но он должен выглядеть примерно так.

Примечание: если ваша Wordpress CMS находится на поддомене wordpress.com, это жизненно важно поставить поддомен в вашем принятом источнике (например, mysite.wordpress.com) - в противном случае вы будете принимать заявки с любого сайта wordpress.com.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...