Безопасный JavasScript, который вызывает PHP-скрипт, который вызывает внешний веб-сервис - PullRequest
1 голос
/ 25 марта 2009

У меня есть страница PHP, которая должна позвонить во внешний веб-сервис. Этот вызов веб-службы берет кучу конфиденциальных данных из HTML-формы на странице PHP, например, SSN и возвращает информацию, относящуюся к этому человеку.

Проблема заключается в том, что вызов веб-службы следует выполнять, как только клиент заполняет поле SSN, и поле теряет фокус, поэтому страница не может быть перезагружена каким-либо образом. Я думал об использовании jQuery для вызова веб-службы, но, к сожалению, AJAX требует, чтобы вы находились в том же домене, что и запрашиваемый ресурс. Поэтому я думаю о создании локальной страницы PHP, которая выполняет вызов веб-службы, а затем использует JQuery для вызова этой новой страницы.

Вопросы:

  1. Как использовать JQuery для вызова локального сценария PHP, который выполняет вызов веб-службы?

  2. Поскольку код JQuery будет брать конфиденциальные данные из HTML-формы и отправлять их в сценарий PHP, как я могу зашифровать данные?

Ответы [ 5 ]

1 голос
/ 25 марта 2009

Для вызова вашего PHP-файла:

var url = "http://localhost/data.php";
var params = {
  "SSN" : theSSN
};
$.get(url, params, function (){
  // Do whatever you need here, once the data arrives.
});

Чтобы вызвать внешний веб-сервис из PHP, я бы предложил использовать cURL .

Для шифрования я бы предложил использовать протокол HTTPS вместо шифрования вручную из JavaScript.

1 голос
/ 25 марта 2009

1) $ .get ("myscript.php", function (response) {alert (response)});

2) Я бы не стал шифровать с помощью jQuery, это было бы медленно и легко расшифровывать. Включение SSL на сервере было бы лучшим решением.

0 голосов
/ 25 марта 2009

Нужно включить SSL в вашем домене и выполнить xmlHTTPRequest для https удаленной службы

0 голосов
/ 25 марта 2009

Это, вероятно, вам особенно не поможет, но некоторые веб-сервисы поддерживают что-то под названием JSONP, которое добавляет имя обратного вызова к обычному запросу JSON.

Однако, скорее всего, вам понадобится создать какой-то локальный прокси-сервер, так как пока не существует многих служб JSONP.

0 голосов
/ 25 марта 2009

1: пример запроса Ajax:

$.ajax(
{
       type: "GET",
       url: "http://yourdomain.com/yourpage.php",
       success: function (msg) { //does something }
});

Подробнее здесь

2: php XOR - довольно хороший алгоритм шифрования, я использую его для проекта с конфиденциальными данными. Вы можете найти функцию здесь .

Наслаждайтесь! :)

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