作者paulsets (阿光光)
看板Ajax
標題[問題] 靠AJAX就不用使用SESSION或COOKIE?
時間Sat May 12 22:54:35 2012
以下問題內容稍長,麻煩各位網友見諒...
以下問題相信大家都會碰到 ->
- 因為HTTP協定具有無狀態性(stateless),新的網頁頁面不會知道使用者前一次網頁
- 頁面的狀態,因此為了要避免使用者在進入每個網頁頁面重複輸入帳號密碼,
- 所以會使用 SESSION or COOKIE or HIDDEN FIELD,儲存使用者的授權狀態。
- 但是使用大量 SESSION,會增加 SERVER 端的負擔。而改使用 COOKIE or
- HIDDEN FIELD 方式,則會有 COOKIE 資料遭偷竊或遭惡意更改的風險。
因次,想請問靠 AJAX 解決 HTTP 無狀態性衍生問題的可能性?
可能的解決方式 ->
- 通常網站會有許多子頁面互相連結例如,index.htm, login.htm, list.htm
- 但想請問如果一個網站只有一個子頁面,可以看成顯示容器,在使用者進行第一次
- 授權認證後使用者欲讀取新的頁面內容時,網站都使用 AJAX 方式讀取新頁面內容
- (XML)與新的排版方式(CSS),再搭配 JS 變換網頁的顯示內容。
既然網站沒有兩個以上的子頁面,也就是沒有HTTP協定具有無狀態性,
=> 是不是就等於使用 AJAX 就可以不使用 SESSION or COOKIE or HIDDEN FIELD?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.67.112.129
1F:推 s25g5d4:ajax一樣有遭竄改的風險阿-.- 05/12 22:58
2F:→ paulsets:恩恩,為了確保從客戶端回傳的數值沒有遭到更改 05/12 23:09
3F:→ paulsets:可以使用數位簽章技術、單向雜湊函數避免 05/12 23:10
4F:→ bibo9901:ajax還是用到http request啊 跟直接連網頁並沒差別 05/12 23:11
5F:→ paulsets:謝謝s大,主要是想請問AJAX解決一次授權認證可不可行 05/12 23:16
6F:→ paulsets:謝b大,真希望有技術可以同時解決 SESSION,COOKIE 問題 05/12 23:33
7F:→ TonyQ:1.使用大量 session 不見得會增加 server 很多的負擔, 05/13 00:09
8F:→ TonyQ: session 有很多種實作法,像是 db session , file session, 05/13 00:10
9F:→ TonyQ: 其中比較有負擔的實作是 in memory 的實作,但是其他兩種 05/13 00:10
10F:→ TonyQ: 實作,都不見得對伺服器會造成很大的負擔 05/13 00:11
11F:→ TonyQ:2.不是用了 ajax 就沒有子頁面,一樣有子頁面,只是這個子 05/13 00:11
12F:→ TonyQ: 頁面是由 javascript 存取而非 browser 存取。 05/13 00:12
13F:→ TonyQ:3.我不覺得你說得事情是你現階段該考慮的問題。 05/13 00:13
14F:→ sk1765:你是可以用數位簽章的方式加上ajax 這樣都不會用到cookie 05/13 11:56
15F:→ sk1765:和 session 但是這樣每次http request時就要去做一次 05/13 11:56
16F:→ sk1765:簽章比對 如果是大量的來回 光是比對這一段程式 還有你要 05/13 12:00
17F:→ sk1765:如何在client簽呢 這樣種子不就外洩了如果在server簽就 05/13 12:02
18F:→ sk1765:不用簽了阿 還是你的意思是上次server丟過來的資料再簽一次 05/13 12:04
19F:→ sk1765:那server端也是要有地方保留同一個種子吧 05/13 12:06
20F:→ gpmm:我強烈懷疑你到底知不知道自己在講什麼… XDD 05/14 01:46
21F:→ gpmm:「大家的問題」和「可能的解決方式」都有著誤謬… 05/14 01:47
22F:→ paulsets:其實我只是想問有沒有除了SESSION、COOKIE等 05/14 13:12
23F:→ paulsets:有沒有其他同樣可以儲存使用者授權狀態的機制 (攤手) 05/14 13:13
24F:→ paulsets:沒想到向各位高手釐清學習了許多AJAX的技術本質 XDD 05/14 13:14