Каков безопасный способ отправки кода JavaScript в виде запроса POST? - PullRequest
1 голос
/ 27 марта 2012

В настоящее время я создаю пользовательский интерфейс для моей программы уменьшения карты. В пользовательском интерфейсе пользователя просят следующее 1. Имя кластера (где должна выполняться операция MR) 2. Функция картографа 3. Функция редуктора

В настоящее время я делаю как POST-запрос, используя модуль YUI io.

     sUrl = "http://hostname.com/start";
     var cfg = {
                 method: "POST",
                 data:  "host_expr="+host_expr+"&mapper="+mapper+"& reducer="+reducer,
                 headers: { 'X-Transaction': 'POST Example', 'Content-Type': 'text/plain' }
                };
     var request = Y.io(sUrl, cfg);

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

Код маппера и редуктора написан на javascript (это нельзя изменить). Само собой разумеется, серверная часть - также javascript (nodejs).

PS: под защитой я имею в виду, !. Приведенный выше код afaik выглядит уязвимым для xss. Кроме того, я не знаю, стоит ли отправлять код javascript в виде запроса POST.

  1. Я также пытаюсь предотвратить злоупотребление выполнением JavaScript. Функции MR, написанные на javascript, могут быть скомпрометированы.

Ответы [ 2 ]

0 голосов
/ 27 марта 2012

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

Без дополнительной информации нам немного сложно предложить подходящий язык.

0 голосов
/ 27 марта 2012

Разместите серверный скрипт (hostname.com/start) через SSL (HTTPS).

Поместите его (свою страницу пользовательского интерфейса) за защищенную паролем страницу входа в систему.

Возможно, вам понадобится разместить свой интерфейс в том же домене и порту.

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