В настоящее время я программирую приложение для Android, которое подключается к php-серверу. На этом сервере есть несколько php-скриптов, которые отправляют mysqli_queries и получают ответы от удаленных баз данных mysql.
<?php
error_reporting(0);
$db_host = $_POST["dbhost"];
$db_uid = $_POST["dbusername"];
$db_pass = $_POST["dbpassword"];
$db_name = $_POST["dbname"];
if ($db_host == "" || $db_uid == "" || $db_pass == "" || $db_name =="" )
echo "Missing information!";
else
{
$con = mysqli_connect($db_host,$db_uid, $db_pass, $db_name);
// Check connection
if (mysqli_connect_error())
die("Couldn't connect to the database!");
else
echo "Connection Successfull";
}
?>
Это работает без каких-либо проблем, но теперь мне нужно сначала подключиться к интрасети, чтобы получить доступ к локальной базе данных.
Я думал о php-скрипте, который подключается к интрасети (через vpn) и, если соединение установлено, он выполняет запросы mysql.
После того как php-скрипт получил ответ, он отключается и отправляет результат обратно в приложение Android. К сожалению, я никогда не делал этого раньше, и Google, кажется, не знает ответа.
Я не хочу, чтобы весь сервер подключался к самой интрасети, только сценарии могут устанавливать соединение, потому что другие mysqli_queries выполняются одновременно.
Мой вопрос, это возможно?
И если это не так, есть ли другое решение, как решить мою проблему?
Большое спасибо заранее.
Лучшее решение заключается в том, что вы создали веб-сервис в своей интрасети и используете его со своего устройства Android, которое вы можете себе представить, предоставляя им метод get веб-сервиса utl.
Для augulenter securiter вашего веб-сервиса вы можете добавить переменную, которую вы связываете между веб-сервисом и приложением для Android.
Чтобы решить эту проблему, вам нужно настроить определенный порт, который будет взаимодействовать с внешним устройством или API-интерфейсом, и защитить его с помощью открытого ключа. Точнее, вы можете просто перенаправить порт, который может работать по http, с сервера в вашей внутренней сети. Что-то вроде Http: // адрес: 8888 и получить данные через API. Это самый безопасный способ. Пожалуйста, примите этот ответ во внимание, только если вы чувствуете, что я правильно понял. Если сейчас добавить комментарий, и я все еще могу дать вам некоторые идеи.