Серверные запросы PHP sql к приложению C #

#c# #php #sql

#c# #php #sql

Вопрос:

Я извлекаю некоторые пользовательские данные с форума phpbb3 с помощью скриптов на сервере. Моя база данных не допускает внешнего входа в систему, поэтому мне нужно выполнить какой-то скрипт.

Но я хотел бы знать, существует ли достаточно безопасный способ получения этих данных? Я знаю, как выводить некоторый XML с помощью операторов echo, но я не уверен, так ли это безопасно, как должно быть?

Оптимальным методом было бы (псевдокод)

 $array['user_id'] = $id;
$array['otherinfo'] = $var

return $array;
 

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

Есть идеи?

Ответ №1:

Вам нужен веб-сервис, который будет выводить ваши ответы в некотором формате, который вы можете проанализировать с помощью C #.

Php и C # несовместимы, поэтому вам нужно будет создать службу, которая может использовать эти сообщения.

Первый вариант, как я уже сказал, — создать веб-сервис, который может использовать код C #. В этом случае ваш код C # должен знать, что запрашивать у вашего веб-сервиса php, и вы ответите на запрос в формате XML, или JSON, или в любом другом формате, который вы хотите использовать в своем коде C # для его анализа.
Другой вариант — отправить данные в веб-службу, использующую C #. Вам нужно написать WCF / веб-службу, и вы можете передавать данные в эту службу.

Комментарии:

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

2. да, вам нужно разместить их в своем веб-сервисе.

Ответ №2:

Я предлагаю вам предоставить вывод вашего массива в виде xml или json. Если мы примем во внимание xml, вы можете вызвать php-файл, который выдает xml-вывод следующим образом:

 XDocument.Load("http://whatever.com/whatever.php");
 

И, конечно, вам нужно добавить заголовок System.Xml.Linq, чтобы использовать класс XDocument. А также вы можете передать хэшированный ключ и т. Д. Из строки запроса, Чтобы подтвердить, что запрошенное поступает из вашего приложения.

Комментарии:

1. Хорошо, я сначала попробую это сделать, так как для быстрого тестирования требуется меньше работы. Пока спасибо

2. @Garrador надеюсь, это вам поможет.