Я разрабатываю веб-сайт и версию приложения для мобильных устройств (iPhone/iPad, Android).
Веб-сайт и мобильное приложение имеют доступ к тем же URL-адресам. например http://xxx.xxx.xxx/register.php
Итак, как вы знаете, в мобильных приложениях нет концепции SESSION для PHP.
Итак, мне нужно различать, что запрашивает веб-браузер или приложение, запрашивающее мобильное устройство, на любом запросе по одному URL-адресу.
ПРИМЕЧАНИЕ !!!! Это не проблема отличия мобильного веб-браузера с использованием свойства USER AGENT
Как я могу отличить запрос от запроса от браузера (ПК/мобильный браузер)? или из мобильного приложения?
Кроме того, я надеюсь не использовать переменную $ _GET [] для этой проблемы при запросе.
Пожалуйста, помогите мне.
Сердечные приветыКак можно отличить запрос по HTTP от веб-браузера или мобильного устройства (приложения) в PHP?
ответ
Вы можете использовать строку агента пользователя, чтобы различать между различными браузерами и приложениями. В PHP вы можете получить его через $_SERVER['HTTP_USER_AGENT']
.
Уважаемый, Спасибо, конечно, я могу использовать свойство USER AGENT, но это значение для мобильного браузера и браузера ПК.i.e. для всего веб-браузера. Но мне нужно отличить браузер или мобильное приложение. – engel0088
Неправда. Пользовательский агент __not__ ограничен браузерами. Это просто HTTP-заголовок, поэтому приложение __any__ может отправить его. Для приложений iOS HTTP-запросы, созданные с использованием 'NSURLRequest', имеют строку пользовательского агента. По умолчанию это выглядит примерно так: '
Действительно? то вы могли бы отличить .. Мне нужно только ananlyze браузер или мобильные приложения? – engel0088
Думаю, что здесь у вас тут несколько вещей не так. Сессии - это просто артефакт, основанный на кукисах, но вместо отправки необработанных данных клиенту PHP в файл cookie PHP просто отправляет идентификатор.
Вы можете настроить PHP для обработки сеансов с помощью GET, но вашему приложению придется это обработать. И вы могли бы предоставить различные конечные точки для мобильного приложения и обычного пользователя. Вы также можете (в большинстве сред) установить пользовательский агент на то, что может обрабатывать ваше приложение PHP.
В любом случае, если вы не используете COOKIES (или сеансы в этом случае) в своем мобильном приложении, вам придется использовать либо пользовательские заголовки, либо GET, либо POST.
Уважаемый, Спасибо, конечно, я могу использовать свойство USER AGENT, но это значение для мобильного браузера и браузера ПК.i.e. для всего веб-браузера. Но мне нужно отличить браузер или мобильное приложение. – engel0088
Но вы можете установить агент пользователя, например «myappuseragent», который будет идентифицировать ваше приложение против других браузеров. Но для идентификации пользователя в вашем приложении вы должны использовать сеансы/токены над файлами cookie или GET. –
Вы идете по этому пути неправильно. Существуют как мобильные браузеры, так и do сеансы поддержки, а также настольные браузеры с отключенными сеансами. Чтобы обнаружить мобильный браузер, единственным способом было бы использовать строку пользовательского агента, однако это можно легко изменить. Лучшим решением было бы фактически определить, включены ли сеансы. Вы можете сделать это с помощью JavaScript. В вашей основной PHP скрипт запуска сеанса и установить какой-то переменной:
session_start();
$_SESSION['var'] = "test";
И тогда вы можете отправить запрос AJAX, чтобы посмотреть, действительно ли это началось или нет. Вот пример JQuery:
var session_check = $.ajax({
url: "/ajax-check-session.php",
type: "get"
});
var sessions = true;
session_check.done(function (session_response, textStatus, jqXHR){
if (session_response != "enabled") {
sessions = false;
}
if (sessions == false) {
// sessions are disabled
}
else {
// sessions are enabled
}
});
И Аякса-чек-session.php:
session_start();
if (count($_SESSION) == 0) {
echo "Sessions are disabled";
}
echo "enabled";
Однако имейте в виду, что, вероятно, высокий процент людей, которые намеренно инвалидов сеансы также намеренно отключены JavaScript , Если вы решите сделать JS необходимым (обычно это плохая идея), вы можете справиться с этим, используя тег <noscript>
, сообщая людям, что им нужно JS для использования вашего сайта, а затем, когда они активируют JS, вы можете обрабатывать отключенные сеансы.
Уважаемый, Спасибо, конечно, я могу использовать свойство USER AGENT, но это значение для мобильного браузера и браузера ПК.i.e. для всего веб-браузера. Но мне нужно отличить браузер или мобильное приложение. – engel0088
Почему вы хотите обнаружить мобильный или рабочий стол? Вы сказали, что это потому, что мобильные браузеры не поддерживают сеансовые куки, но я сказал вам, что это неверное предположение. – Mike
Я сказал: в мобильных приложениях нет концепции СЕССИИ для PHP.i.e. это [приложения], а не [браузер] – engel0088
- 1. Идентификация мобильного устройства от заголовков http
- 2. Как отличить настоящий контекст HTTP или запрос от подделки?
- 3. Ориентация мобильного мобильного устройства при инициализации приложения
- 4. Как отличить запрос веб-службы от приложения Android?
- 5. Как отличить одно мобильное устройство от другого по HTTP-запросу
- 6. Различают браузер http mobile и запрос мобильного приложения
- 7. Как я могу проверить запрос от мобильного приложения или WEB
- 8. Возможно обнаружение * типа мобильного устройства * через javascript или заголовки HTTP?
- 9. Websocket или Http для разработки мобильного приложения?
- 10. Как веб-приложения запрашивают местоположение мобильного устройства?
- 11. Идентификация устройства HTTP-запрос происходит от
- 12. Как отличить http и https от http-заголовка
- 13. Как отличить ли пользователь от приложения FB или автономного приложения
- 14. запрос мобильного веб-приложения
- 15. Обнаружение http-запроса из мобильного приложения
- 16. Как отличить HTTP-запрос от HTML-формы и HTTP-запроса от клиента?
- 17. Можно изменить адрес мобильного телефона bluetooth устройства?
- 18. Обнаружение мобильного устройства или планшета
- 19. Можно ли отличить от «хороших» HTTP-запросов и DoS-атак?
- 20. Изменение размера изображения по высоте мобильного устройства
- 21. обнаружить запрос из мобильного приложения не из браузера в php
- 22. Структура приложения Java UI для мобильного устройства
- 23. можно проверить сайт ASP.NET для мобильного устройства по локальной сети
- 24. Инструмент для извлечения ответа Http с мобильного устройства
- 25. Дифференциальный запрос: как отличить изменение от создания
- 26. Как отличить запуск активности от запуска или вверх по навигации
- 27. Как отличить веб-приложение от отдельного приложения?
- 28. Как определить, пришел ли запрос с мобильного устройства
- 29. Как отличить запрос от веб-представления или обычного браузера
- 30. PHP websocket для мобильного приложения
Получите пользовательский агент. –
Уважаемый, Спасибо, конечно, я могу использовать свойство USER AGENT, но это значение для мобильного браузера и браузера ПК.i.e. для всего веб-браузера. Но мне нужно отличить браузер или мобильное приложение. – engel0088
позволяют мобильному приложению делать запрос 'post', в то время как браузеры делают запрос' get' для данных –