Я разрабатываю мобильное приложение с html5 (Intel XDK) и сервером кодирования с php. В моем приложении пользователи могут загружать изображения с мобильных устройств на сервер. Но когда я изменил код на стороне сервера, чтобы проверить , пользователь вошел в систему с сеансом, переменная session возвращает null. Мой код выглядит следующим образом.Использование XMLHttpRequest с PHP-сессией
var par= new FormData(document.getElementById('form'));
var obj= new XMLHttpRequest();
...
obj.open('POST', 'url.com/upload.php');
obj.send(par);
И в коде на стороне сервера я хочу проверить переменную сеанса.
if($_SESSION['user_logged_in'] == 1)
Я искал эту проблему в SO, но результаты имеют некоторые проблемы. Например, в приведенном ниже сообщении ответ говорит, что идентификатор сеанса должен храниться на стороне клиента, но я думаю, что это не очень хорошее решение из-за проблем с безопасностью.
Есть ли хороший iplementation для этой проблемы? Спасибо заранее.
EDIT: Я вызываю session_start и если я удаляю вход в систему, это работает. Другие страницы, которые я вызывал с помощью Ajax, имеют переменные сеанса. Мои сомнения в безопасности в том, что мой идентификатор сеанса будет отображаться в исходном коде, не будет ли это проблемой безопасности?
Можете ли вы проверить (с помощью fiddler, chrome tools и т. Д.), Отправляется ли cookie сеанса с запросом? И вы вызываете session_start() в начале в upload.php? – johnnycardy
Не должно быть проблем с передачей идентификатора сеанса. Как вы думаете, как браузер работает с сеансом в обычном режиме? – geedubb
@johnnycardy yes Я вызываю сеанс сеанса. – PepeDeLew