Обнаружение URL, вызванного из приложения Android - PullRequest
0 голосов
/ 25 января 2012

Я разработал приложение (ios и android), которое отправляет php-запрос на сервер. Из соображений безопасности мне нужно убедиться, что пользователь не может ввести тот же URL в браузере. Только приложение должно быть разрешено сделать этот запрос. Я думал об обнаружении браузера javascript и получаю хороший результат для ios, когда он отвечает «Неизвестно» при вызове из приложения. Но для Android, он всегда отвечает «Android», будь то в браузере или при вызове из приложения. У кого-нибудь есть идеи, как обнаружить это на стороне сервера?

1 Ответ

1 голос
/ 25 января 2012

Вы можете обнаружить строку агента пользователя.Это можно сделать на стороне сервера в PHP с помощью:

$_SERVER['HTTP_USER_AGENT']

Android и iOS вернут строку агента пользователя, содержащую такие вещи, как «Mobile Safari», «webkit» и т. Д. В вашем приложении укажитеWebview, чтобы установить пользовательский агент как нечто собственное, что вы создали.Вы можете сделать это на iOS с помощью следующего кода - я ожидаю, что в Android есть что-то похожее:

[request setValue:@"MyMadeUpUserAgentString" forHTTPHeaderField:@"User_Agent"];

Тогда в PHP показывать страницу только в том случае, если HTTP_USER_AGENT совпадает со значением, установленным в вашем приложении.

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

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