PHP中token的使用方法:1、客戶端使用者輸入使用者名稱密碼後執行登錄,請求token;2、使用JWT這種規範,進行產生token;3、驗證token的時效性;4 、客戶端拿token請求資料。
本文操作環境:windows7系統、PHP7.1版、Dell G3電腦。
token PHP使用方法是什麼?
php token的生成與使用
1. 為什麼要使用tokent進行登入
前後端分離或為了支援多個web應用,那麼原來的cookies或者session在使用上就會有很大的問題
cookie和session認證需要在同一主域名下才可以進行認證(目前可以把session存儲在redis內進行解決)。
2. 解決方案
oauth2 和 jwt
jwt :是一種安全標準。基本想法就是使用者提供使用者名稱和密碼給認證伺服器,伺服器驗證使用者提交資訊資訊的合法性;如果驗證成功,會產生並傳回一個token(令牌)
OAuth2 :是一個安全的授權框架。它詳細描述了系統中不同角色、使用者、服務前端應用(例如API),以及客戶端(例如網站或行動APP)之間怎麼實現相互認證。
(這裡採用jwt,這種JSON Web Token 這種方式進行認證)
3. 產生方法
- ##頭:加密類型
- 說明:訊息內容
- key:一個隨機碼用來加密
- 上面三部分使用.連接起來,然後使用hs256進行加密,產生tokent
{ "alg": "HS256", "typ": "JWT" }
#然後,這個json被Base64Url編碼,成為第一部分2). 有效載荷是聲明。聲明是關於實體的部分。
{ "exp": "1525785339", "sub": "1234567890", "name": "John Doe", "admin": true }
然後將有效載荷Base64Url進行編碼,成為第二部分3). 使用一個加密key4). 簽名,需要使用編碼後的第一部分,編碼後的第二部分,然後一個關鍵的key。採用第一部分的加密演算法進行簽章(PS:此資訊儘管受到篡改保護,但是任何人都可以閱讀。除非加密,否則不要將重要訊息放在裡面)
HMACSHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload), key )
該簽章用於驗證訊息是否有竄改。5. token存放位置(PHP使用crypt方法進行加密。注意:SHA-256用於防篡改,AES-256用於加密兩個概念不一樣)
通常應該在請求的header頭中的Authorization字段使用Bearer模式添加JWT(Authorization: Bearer ) (當然你也可以放在任意位置,如URL後面當成一個參數傳遞,只要客戶端能識別就行,不過既然JWT是個規範,那麼我們最好還是按照規範來)推薦學習:《
PHP影片教學》
6. 使用方式- 客戶端用戶輸入用戶名密碼後執行登錄,請求token
- 伺服器收到請求後,使用JWT這種規範,進行生成token,返回給客戶端
- 客戶端收到token以後,解密後,驗證token的時效性(token的過期時間),保存起來
- 客戶端拿token請求資料
- 伺服器收到token解密後,驗證使用者身份,驗證時效性,然後驗證使用者
1. 无法作废已颁布的令牌(对token刷新使用期限)
2. 不易应对过期数据(支持 token 失效)
所以如果你使用了token ,那麼如果token 被捕獲到,那麼就可以進行偽造進行冒充。所以如果安全比較高的話,還是建議使用oauth2
以上是token PHP使用方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Atom編輯器mac版下載
最受歡迎的的開源編輯器