jquery — Реализация гибридного приложения HTML5, отправляющего AJAX-запрос на PHP-сервер в отношении веб-безопасности

Мы изучаем возможность создания приложения с одной кодовой базой, которое можно запускать на нашем веб-сервере (в виде HTML-файла и Javascript), а также в виде приложений для смартфонов (iOS / Android, скомпилированных из Intel XDK). Благодаря такому подходу мы можем использовать только HTML, CSS, Javascript. Наше текущее исследование — подключение к нашему серверу с использованием AJAX для вызова файла PHP на сервере, который передает те же данные обратно со стороны клиента Javascript.

В настоящее время мы тестируем следующие коды, немного позаимствованные и модифицированные из https://stackoverflow.com/a/5004276/144201:

HTML:

<html>
<script src="jquery.js"></script>
<script src="ajaxphpjquery.js"></script>
<form id="foo">
<label for="bar">A bar</label>
<input id="bar" name="bar" type="text" value="" />
<input type="submit" value="Send" />
</form>
<div id="result"></div>

JS: (показывает только запрос AJAX и часть получения данных. Мы используем jquery.)

    request = $.ajax({
url: "http://MYURL.com/myPHP.php",
type: "post",
data: serializedData

});

// Callback handler that will be called on success
request.done(function (response, textStatus, jqXHR){
// Log a message to the console
console.log("it worked : " + response);

// And also show message on result tag
$("#result").html("it worked : " + response);
});

PHP на нашем сервере:

<?php

header("Access-Control-Allow-Origin: *");

$bar = isset($_POST['bar']) ? $_POST['bar'] : null;
echo "!!! $bar";

?>

В то время как все эти коды работали нормально, и мы вернули правильное отображение ввода формы, одна вещь, которая нас беспокоит, это использование header("Access-Control-Allow-Origin: *"); в php. Как уже упоминалось в https://stackoverflow.com/a/17098221/144201 , это подразумевает, что подстановочный знак будет разрешать межсайтовый скрипт из любого домена. Поэтому предпочтительнее использовать что-то вроде белого списка, чтобы разрешить домену подключаться к нашему серверу.

Но в случае гибридных приложений представьте, что тысячи пользователей используют это гибридное приложение на своем смартфоне и подключаются к нашему серверу через AJAX. Является Access-Control-Allow-Origin: * единственный способ разрешить внешним гибридным приложениям подключаться к нашему серверу? Каков правильный способ решения этой проблемы с точки зрения безопасности?

Примечание: мы также нашли https://stackoverflow.com/a/26966685/144201 но это было задано два года назад, и нет никаких принятых ответов. Есть ли какие-либо рекомендации по этому вопросу на данный момент?

2

Решение

Задача ещё не решена.

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

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

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