最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript cookie原理及使用實(shí)例

 更新時(shí)間:2020年05月08日 10:08:29   作者:阿吉萊加雷  
這篇文章主要介紹了JavaScript cookie原理及使用實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

什么是cookie?

cookie 是本地計(jì)算機(jī)的臨時(shí)存儲(chǔ)。

作用:在瀏覽器中進(jìn)行數(shù)據(jù)的存儲(chǔ),用戶名、密碼(比如:保存頁(yè)面信息,自動(dòng)登錄等)。

特點(diǎn):

  • cookie需要在服務(wù)器環(huán)境下運(yùn)行;
  • cookie的容量在4kb左右,限制為每個(gè)域名50個(gè)cookie個(gè)數(shù)(IE),不同瀏覽器容量和個(gè)數(shù)不同;
  • cookie以字符串類型存儲(chǔ),不同域名存儲(chǔ)的數(shù)據(jù)是無法共享;
  • cookie默認(rèn)是臨時(shí)存儲(chǔ)的,當(dāng)瀏覽器關(guān)閉時(shí),自動(dòng)銷毀;
  • cookie可以被禁用也可以刪除,且安全性不高。
  • 可以對(duì)cookie值進(jìn)行加密(MD5);

讀取和設(shè)置cookie

document.cookie = "user=123456";
console.log(document.cookie); //user=123456

使用f12查看當(dāng)前頁(yè)面存儲(chǔ)的cookie

注意:

在打開網(wǎng)址時(shí)或者提交表單時(shí)自動(dòng)裹挾著cookie數(shù)據(jù)發(fā)送到服務(wù)器,并且服務(wù)端程序可以 繼續(xù)裹挾著新的cookie內(nèi)容存儲(chǔ)在你的電腦的cookie中。

設(shè)置cookie的生存期

  格式:document.cookie = “名稱=值;expires=” + 時(shí)間;(時(shí)間必須是一個(gè)字符串)。

var date=new Date();
date.setHours(date.getHours()+1);//設(shè)置1小時(shí)的生存期
// document.cookie="a=3"; //先存入a=3,只運(yùn)行第一次
console.log(document.cookie);
var a=Number(document.cookie.split("=")[1]);
a++;
document.cookie="a="+a+";expires="+date.toUTCString();

  上面代碼表示:設(shè)置cookie在當(dāng)前時(shí)間的一個(gè)小時(shí)后過期,第一次運(yùn)行先存入a為3的值,然后把cookie的值從字符串轉(zhuǎn)為數(shù)值型,再進(jìn)行累加,每次設(shè)置生存期都要把data對(duì)象轉(zhuǎn)為字符串類型(toUTCString)。

在生存期內(nèi)的cookie,關(guān)閉頁(yè)面不會(huì)銷毀,生存期結(jié)束,關(guān)閉頁(yè)面銷毀cookie;

cookie存儲(chǔ)多個(gè)數(shù)據(jù)

var obj={
      user:"xietian",
      age:30,
      sex:"男"
    }
    function setCookie(obj,date){
      for(var prop in obj){
        document.cookie=prop+"="+obj[prop]+(date ? ";expires="+date.toUTCString() : "");
      }
    }
    var date=new Date();
    date.setFullYear(2021); 
    setCookie(obj,date);

使用reduce獲取多個(gè)cookie值

var o=getCookie();
   console.log(o);
    function getCookie(){
      return document.cookie.split("; ").reduce((value,item)=>{
          var arr=item.split("=");
          value[arr[0]]=isNaN(arr[1]) ? arr[1] : Number(arr[1]);//數(shù)字(年齡)需要轉(zhuǎn)為數(shù)值型
          return value;
      },{});
    }

關(guān)于cookie安全

  XSS攻擊:XSS攻擊通常指的是通過利用網(wǎng)頁(yè)開發(fā)時(shí)留下的漏洞,通過巧妙的方法注入惡意指令代碼到網(wǎng)頁(yè),使用戶加載并執(zhí)行攻擊者惡意制造的網(wǎng)頁(yè)程序(百度百科)。

  XSS攻擊需要具備的條件:

1. 必須是同一個(gè)域當(dāng)中頁(yè)面的表單提交,必須有文本內(nèi)容提交

2. 提交的內(nèi)容需要被放置在頁(yè)面中,例如評(píng)論等內(nèi)容

3. 在提交的文本中出現(xiàn)script標(biāo)簽,并且這個(gè)標(biāo)簽沒有被替代,直接放入在頁(yè)面中

4. 這個(gè)頁(yè)面可以被所有用戶查看到

5. 這個(gè)script標(biāo)簽具備一定的盜竊cookie特征

  解決辦法

提交頁(yè)面時(shí)將script標(biāo)簽過濾再提交;

但可以通過插入圖片的超鏈接,點(diǎn)擊是執(zhí)行JavaScript腳本; 遇到這種時(shí)就需要將JavaScript腳本替換

關(guān)于cookie安全還要其他攻擊方式這里只簡(jiǎn)單介紹一下cookie,深入了解請(qǐng)上網(wǎng)查詢資料。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • p5.js臨摹旋轉(zhuǎn)愛心

    p5.js臨摹旋轉(zhuǎn)愛心

    這篇文章主要為大家詳細(xì)介紹了p5.js臨摹旋轉(zhuǎn)愛心,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • 微信小程序?qū)崿F(xiàn)簡(jiǎn)單搜索框

    微信小程序?qū)崿F(xiàn)簡(jiǎn)單搜索框

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)簡(jiǎn)單搜索框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • JavaScript實(shí)現(xiàn)移動(dòng)端彈窗后禁止?jié)L動(dòng)

    JavaScript實(shí)現(xiàn)移動(dòng)端彈窗后禁止?jié)L動(dòng)

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)移動(dòng)端彈窗后禁止?jié)L動(dòng),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 一個(gè)關(guān)于javascript匿名函數(shù)的問題分析

    一個(gè)關(guān)于javascript匿名函數(shù)的問題分析

    一個(gè)關(guān)于javascript匿名函數(shù)的問題分析,學(xué)習(xí)js的朋友可以參考下
    2012-03-03
  • 微信小程序嵌入H5頁(yè)面(web-view)的方法詳解

    微信小程序嵌入H5頁(yè)面(web-view)的方法詳解

    使用<web-view>標(biāo)簽?zāi)茉谛〕绦蛑写蜷_外部網(wǎng)頁(yè),但是要打開的網(wǎng)頁(yè)的域名必須跟小程序的業(yè)務(wù)域名(業(yè)務(wù)域名可以在小程序的后臺(tái)管理界面添加)一致,否則在真機(jī)上是打不開的,下面這篇文章主要給大家介紹了關(guān)于微信小程序嵌入H5頁(yè)面(web-view)的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • JS實(shí)現(xiàn)同時(shí)搜索百度和必應(yīng)的方法

    JS實(shí)現(xiàn)同時(shí)搜索百度和必應(yīng)的方法

    這篇文章主要介紹了JS實(shí)現(xiàn)同時(shí)搜索百度和必應(yīng)的方法,可實(shí)現(xiàn)在底部的兩個(gè)框架中同時(shí)顯示兩個(gè)搜索引擎的搜索結(jié)果,是非常實(shí)用的技巧,需要的朋友可以參考下
    2015-01-01
  • 自動(dòng)完成的搜索框javascript實(shí)現(xiàn)

    自動(dòng)完成的搜索框javascript實(shí)現(xiàn)

    這篇文章主要介紹了自動(dòng)完成的搜索框javascript實(shí)現(xiàn)代碼,感興趣的小伙伴們可以參考一下
    2016-02-02
  • js實(shí)現(xiàn)對(duì)table的增加行和刪除行的操作方法

    js實(shí)現(xiàn)對(duì)table的增加行和刪除行的操作方法

    下面小編就為大家?guī)硪黄猨s實(shí)現(xiàn)對(duì)table的增加行和刪除行的操作方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-10-10
  • js中apply和call的理解與使用方法

    js中apply和call的理解與使用方法

    這篇文章主要給大家介紹了關(guān)于js中apply和call的理解與使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • js中取得變量絕對(duì)值的方法

    js中取得變量絕對(duì)值的方法

    這篇文章主要介紹了js中取得變量絕對(duì)值的方法,較為詳細(xì)的分析了js中abs方法取絕對(duì)值的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01

最新評(píng)論

定南县| 通海县| 茂名市| 阿鲁科尔沁旗| 南雄市| 梓潼县| 绥宁县| 康乐县| 常山县| 财经| 尤溪县| 苏尼特右旗| 天津市| 阳泉市| 两当县| 兴业县| 梁平县| 明溪县| 清原| 宾阳县| 商水县| 霍林郭勒市| 成都市| 当阳市| 福建省| 乌兰浩特市| 洮南市| 青岛市| 壶关县| 巴青县| 松桃| 安吉县| 从江县| 大厂| 农安县| 昆山市| 鄂伦春自治旗| 义乌市| 芜湖市| 松原市| 榆树市|