cgi问题:账户安全。 急!(100分)

  • 主题发起人 主题发起人 OnlyD4
  • 开始时间 开始时间
O

OnlyD4

Unregistered / Unconfirmed
GUEST, unregistred user!
我的应用要求用户登陆后才可以察看和使用数据,并且用户的数据不可以被他人
察看,现在问题出在第一个用户使用了之后,只要浏览器没有关闭第二个用户
就可以用<back>键返回察看第一个用户的资料。

应如何解决这个问题?(为安全起见我没用cookie)
 
1.设置页面过期;
2.提醒用户退出时按"LogOut"退出,否则数据不安全. :-)
 
页面过期的设置如何做?
 
好像是在response.header里面加一个头就可以,你先自己查一查,查不到再说.
 
response.expires=now
 
如果设置了页面过期,在cache中是否就没有了呢?
 
利用用户登录时间与用户名进行特定逻辑运算得到一个ID,
然后在网页身份检查时进行逆运算即可。
此ID即具有时间有效性。
 
>>利用用户登录时间与用户名进行特定逻辑

第一个用户离开后,第二用户进来使用的不还是上一个用户的time/ID ?

>>网页身份检查时进行逆运算即可。
如果能够及时进行身份检查,还会存在这个问题吗?
 
第一个用户和第二个用户登录的时间肯定是不同的。
可以在服务器端设定超时时间,比如10分钟,10分钟内没有新的ID传过来就CANCEL当前ID。
也就是说,只要你“发呆”10分钟就必须重新登录。
 
>>第一个用户和第二个用户登录的时间肯定是不同的。
现在这个问题是说: 如果第一个用户登陆成功后,第二个用户只要 "Back"就可以,
不用登陆,所以时间当然还是第一个的.

至于你说的"超时",效果和"网页过期"一样,但要麻烦得多.
 
也许我没有说清楚:

1、合法用户登录时要求用户名和口令,服务器记下当时的时间,返回一个ID;
2、合法用户使用时只需传回ID表明身份;
服务器端通过ID得到上次使用的用户名和时间;
服务器取当前时间与ID中的时间比较,验证是否超时发呆;
IF YES THEN 返回重新登录页面
ELSE 将当前时间与用户名合成新ID返回用户。
3、合法用户离开10分钟后,非法用户无法用BACK联系服务器。
4、如果你指的是临时文件夹中的信息,那只好手动删除了。
 
明白你的意思了,效果不就是"网页过期"吗? 为什么搞这么麻烦?
 
呵呵,ASP我的不懂。
但问题是CGI,所以我的方法应当具有普适性。
 
说的就是CGI吧!
 
response对象是cgi固有的吗,请教先。
 
在delphi里面是. 您没用过?
 
其实我想response.expires的原理不过是在response的header里面添加了头信息,
如此原理,在任何语言里面都是一样的,不一定非要通过response实现,只要能设置
返回头信息就可以.
 
没有用过,惭愧。我以为是直接写PERL呢,不好意思。
 
cakk说的对,不过是在response的header里面添加了头信息,
实际上在delphi里的实现很简单,我们不一定要挖根刨底
 
后退
顶部