搜尋

首頁  >  問答  >  主體

python - php使用token機製作用

經常在開發環境中會模仿微信token機制。但是這個有什麼用呢,在我看來只是防止別人亂請求介面而已了。我實在想不出他有啥用,例如登入成功回傳一個a b c和md5(a b c token) 那麼下次請求介接帶上這abc參數與我伺服器中的token加密驗證字元竄是否一致。我感覺這沒什麼用處啊,求大神說說他的奧妙之處

为情所困为情所困2717 天前964

全部回覆(2)我來回復

  • 欧阳克

    欧阳克2017-06-23 09:13:04

    你說的這個情況,一般生成的token是可逆切能進行自我校驗的,也就是說一般不用MD5演算法,而是用可以反向轉成常規數據,然後常規數據中不同部分的內容自洽。所以如果用戶隨便弄了個和token格式一樣的token串,伺服器就直接報錯,而不會回傳除了錯誤訊息之外的任何資料。這樣一定程度上杜絕了爬蟲從網站抓取數據,也同時減輕了伺服器壓力(因為如果無論是否是有效請求,都去查詢數據,查詢壓力會很大)。由於你的token生成方法是不公開的,所以如果爬蟲編寫者想要破解你的token構造方法也是有一定難度的。

    除了你說的這個之外,還可以用作使用者登入。即使用者登入的時候,返回一個token,在前端保存。在此token失效之前,前端一直可以使用此token作為使用者登入的令牌。每次請求伺服器資料都會透過此令牌將資料庫中此令牌對應的使用者資訊取出來,也就是說,此時令牌token就等於給已登入使用者的授權。

    回覆
    0
  • 阿神

    阿神2017-06-23 09:13:04

    這時候的token其實起到的作用就是session的作用。

    回覆
    0
  • 取消回覆