php7.2前端得到token后怎么保存
-
保存token的方式取决于前端使用的具体技术和需求。下面列举了几种常见的保存token的方式供参考:
1. 使用cookie:将token保存在HttpOnly Cookie中。这样可以确保仅在服务端可见,并且当用户关闭浏览器后会自动删除。使用cookie还可以通过设置cookie的过期时间来控制token的有效期。
2. 使用localStorage或sessionStorage:将token保存在浏览器的本地存储中。localStorage和sessionStorage是由浏览器提供的API,可以将数据保存在浏览器中,并在后续的页面加载中获取。需要注意的是,localStorage和sessionStorage的数据在浏览器关闭后仍然保留,所以需要额外处理token的过期时间。
3. 使用IndexedDB或Web SQL:IndexedDB和Web SQL是浏览器提供的数据库API,可以在浏览器中创建数据库,并将token保存在其中。这种方式相对复杂,需要使用较为专业的前端技术进行操作。
4. 使用Redux或Vuex:如果前端使用了类似于Redux或Vuex的状态管理库,可以将token保存在全局的状态中。这样可以方便在应用的各个组件中进行访问和管理。
需要注意的是,无论选择哪种方式保存token,都需要在前端进行安全性验证,避免token被恶意获取。可以使用HTTPS协议来加密通信,同时在服务端对token进行签名和验证。另外,为了保证用户的隐私安全,不建议将token保存在前端的URL参数中或者在页面中明文显示。
2年前 -
在PHP 7.2中,前端可以通过以下几种方式保存Token:
1. 使用Cookie:将Token存储在Cookie中,然后在每个请求中将Token作为Cookie值发送到服务器。前端可以使用JavaScript操作Cookie来读取和发送Token。
“`javascript
// 将Token存储在Cookie中
document.cookie = ‘token=’ + tokenValue;// 从Cookie中获取Token
var token = document.cookie.replace(/(?:(?:^|.*;\s*)token\s*\=\s*([^;]*).*$)|^.*$/, “$1”);
“`2. 使用Web Storage:使用Web Storage API将Token存储在前端浏览器的本地存储中。Web Storage提供了两种存储方式:localStorage和sessionStorage。
“`javascript
// 使用localStorage存储Token
localStorage.setItem(‘token’, tokenValue);// 使用localStorage获取Token
var token = localStorage.getItem(‘token’);
“`3. 使用IndexedDB:IndexedDB是浏览器提供的一种比Web Storage更强大的数据库存储解决方案。可以使用IndexedDB来保存Token。
“`javascript
// 打开IndexedDB数据库
var request = window.indexedDB.open(‘myDB’, 1);request.onsuccess = function(event) {
var db = event.target.result;// 保存Token
var transaction = db.transaction([‘tokens’], ‘readwrite’);
var store = transaction.objectStore(‘tokens’);
store.put(tokenValue, ‘token’);
};// 获取Token
request.onsuccess = function(event) {
var db = event.target.result;var transaction = db.transaction([‘tokens’], ‘readonly’);
var store = transaction.objectStore(‘tokens’);var request = store.get(‘token’);
request.onsuccess = function(event) {
var token = event.target.result;
// 使用获取到的Token
};
};
“`4. 使用HTML5 Web Workers:Web Workers是在后台运行的JavaScript线程,可以用于处理复杂的计算任务。可以使用Web Workers将Token存储在前端,并在需要时进行访问。
“`javascript
// 创建并启动Web Worker
var worker = new Worker(‘worker.js’);// 保存Token
worker.postMessage({ action: ‘save’, token: tokenValue });// 获取Token
worker.postMessage({ action: ‘get’ });worker.onmessage = function(event) {
var token = event.data;
// 使用获取到的Token
};
“`5. 使用SessionStorage:SessionStorage是与浏览器窗口关联的会话级别的存储,意味着如果用户关闭浏览器窗口,数据将被删除。可以使用SessionStorage将Token保存在前端。
“`javascript
// 使用SessionStorage存储Token
sessionStorage.setItem(‘token’, tokenValue);// 使用SessionStorage获取Token
var token = sessionStorage.getItem(‘token’);
“`无论使用哪种方式,前端保存Token都需要注意安全性,以防止被恶意利用。应该避免在前端存储敏感信息,并使用HTTPS协议来加密通信。
2年前 -
在PHP 7.2之前,前端通常会通过Ajax请求后端接口来获取token。前端得到token后,可以通过以下几种方式来保存token。
1. 存储在Cookie中:可以将token存储在浏览器的Cookie中。通过调用`setcookie()`函数来设置cookie,将token作为cookie的值传递。在后续的请求中,浏览器会自动携带该cookie,后端可以通过`$_COOKIE`来获取token。
“`php
setcookie(“token”, $token, time()+3600, “/”);
“`2. 存储在Session中:可以将token存储在后端的Session中。前端将token传递给后端,后端将token存储在Session中,并将Session ID返回给前端,前端在后续的请求中,可以通过在请求头中携带Session ID来获取token。
“`php
session_start();
$_SESSION[“token”] = $token;
“`3. 存储在localStorage或sessionStorage中:可以使用浏览器提供的localStorage或sessionStorage来存储token。localStorage存储的数据会一直存在,sessionStorage存储的数据在页面关闭后会被清除。
“`javascript
// 存储token到localStorage中
localStorage.setItem(“token”, token);// 从localStorage中获取token
var token = localStorage.getItem(“token”);
“`以上是常用的几种保存token的方式。根据实际需求和安全性要求,选择适合的方式来保存token。需要注意的是,保存在Cookie中可能会存在安全性问题,对于敏感信息的存储,建议采用其他方式存储,如存储在Session中或使用localStorage/sessionStorage等。
2年前