iT邦幫忙

0

jwt 與xss詢問

大家好:

想請問jwt產生
1.伺服器端在收到登入請求後向"資料庫"驗證使用者
2.伺服器端產生和回傳一組帶有資訊,且僅能在伺服器端再度"解碼後被資料庫驗證"的Token
Token被回傳後,存取在「客戶端」(set_cookie)
3.客戶端向伺服器端發送請求時,皆附帶此 Token 讓伺服器端驗證
想請問如果沒有經過步驟1,登入機制,要怎麼產生jwt呢? 那就要自己設定參數嗎?

如果有jwt驗證,網頁任何的input的資料,即使有前端做資料型態驗證,不管是post或get的方式到後端,是否還是要再判斷input的值資料型態呢?

謝謝

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
froce
iT邦大師 1 級 ‧ 2021-07-09 13:01:46
最佳解答

https://medium.com/%E9%BA%A5%E5%85%8B%E7%9A%84%E5%8D%8A%E8%B7%AF%E5%87%BA%E5%AE%B6%E7%AD%86%E8%A8%98/%E7%AD%86%E8%A8%98-%E9%80%8F%E9%81%8E-jwt-%E5%AF%A6%E4%BD%9C%E9%A9%97%E8%AD%89%E6%A9%9F%E5%88%B6-2e64d72594f8

JWT token只是3段base64而已,除了最後簽章無法偽造,其他你愛怎麼看都可以

沒有登錄資訊應該也是可以給JWT,payload那部份用anonymous就行了,剩下簽章部份還是每個anonymous給不同的簽章。

JWT頂多能取代CSRF token幫你防CSRF,其他驗證你還是得自己做。

mayyola iT邦研究生 2 級 ‧ 2021-07-09 23:01:31 檢舉

謝謝!!

0
EN
iT邦好手 1 級 ‧ 2021-07-09 01:18:42

就我所理解的, JWT 主要被用於身分驗證,如果你的網站沒有身分驗證的需求,為何需要 JWT 呢?
再來,能在前端就先把錯誤的 Input 擋掉那自然是最好的,兩邊都該進行驗證。

mayyola iT邦研究生 2 級 ‧ 2021-07-09 23:01:21 檢舉

謝謝

我要發表回答

立即登入回答