javascript - 将 XMLHttpRequest 与 PHP session 结合使用

标签 javascript php session xmlhttprequest intel-xdk

我正在使用 html5(英特尔 XDK)开发移动应用程序,并使用 php 编码服务器端。在我的应用程序中,用户可以将图像从移动设备上传到服务器。但是,当我更改服务器端代码以检查用户是否已使用 session 登录时, session 变量返回 null。我的代码如下。

var par= new FormData(document.getElementById('form')); 
var obj= new XMLHttpRequest();
...
obj.open('POST', 'url.com/upload.php');
obj.send(par);

在服务器端代码中我想检查 session 变量。

if($_SESSION['user_logged_in'] == 1)

我在SO中搜索了这个问题,但结果有一些问题。例如,在下面的帖子中,答案说 session ID必须保留在客户端,但我认为由于安全问题这不是一个好的解决方案。

How to pass php session with XMLHttpRequest

对于这个问题有什么好的解决办法吗? 提前致谢。

编辑:我正在调用 session_start 并且如果我删除登录检查它就可以工作。我使用 Ajax 调用的其他页面会到达 session 变量。我对安全性的疑问是我的session id会在源代码中看到,这不会是一个安全问题吗?

最佳答案

您可以使用 App Security API Cordova 插件来改进对您的 session token /ID 的保护措施, 您可以找到有关此 Cordova 插件的更多详细信息 here 。 您还可以获取“存储在安全存储中”和“从安全存储中读取”的代码片段的链接 here .

顺便说一下,英特尔 XDK 支持应用安全 API,您可以使用插件管理菜单 --> 特色插件 --> 应用安全 API --> 单击“添加插件”将其添加到您的应用程序中.

关于javascript - 将 XMLHttpRequest 与 PHP session 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20932964/

相关文章:

javascript - ng-repeat 显示第一个选项的默认空值

javascript - XmlHttpRequest 不起作用,没有返回任何内容

php - 检测 cURL 是否有效?

javascript - 如何在单击超链接时在 session 中设置 PHP 对象

javascript - 方法作为原型(prototype)中的属性

java - javascript 和 jquery 中的方法和函数重载

javascript - 如何使此代码更可重用

php - 在 PHP 中使用前导零格式化数字

c# - 按钮有时会重定向到 "This page cannot be displayed"

java - 在 Java 中每个线程只能有一个 hibernate session 吗?