作者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