CGI 问题,关于用户口令验证问题(200分)

  • 主题发起人 主题发起人 CJ
  • 开始时间 开始时间
C

CJ

Unregistered / Unconfirmed
GUEST, unregistred user!
我知道可以用小甜饼,不过,我要允许用户修改口令,而且是比较大
的数据库应用,我想用 DBMS 级别的安全机制,基本是 MSSQL+NT
如何做比较好呢?
1.只使用用户表;//安全性差
2、只使用DBMS/OS安全 //如何做?在CGI中
3、建立两套机制。//如何做?如何同步?
 
最好是client端encryption口令和用户名之后才发出. 那样随便你怎么做都成.
 
1.正你所说,还是别用。
2.建议使用,最好再加上DES更可靠。
 
CJ 『Site:delphi爱好者 ]上的文章是你的吗?现拜读一下!
 
eYes:NT 不是自己有加密验证吗?不是说什么IE也有128位验证什么的吗?不能直接利用吗?

Jams:1、2:看清问题,我的意思是HOW!
CJ 什么都会,就是不会写文章。
 
CJ,用SSL就不怕传输过程中泄密了。Cookie有Secure选项,大概可以保证在客户端
安全存放。不过最好还是别用Cookie存口令,而是存个类似ASP中Session的ID。
或者可以不用Cookie,用隐变量。
NT有验证,不过是针对访问某个叶面的权限控制。如果要跨叶面保持用户信息,就要
用Cookie或者隐变量。
 
thanx tqz
我的意思是:在传统C/S程序中,是通过DBMS本身的安全来保证数据库安全的,在CGI
程序中,如何应用之。是否一般都是另外建立一个表存取用户安全信息?
跨页面是否每次都检查COOKIES?
 
CJ: 用DBMS来保证数据库安全当然可以了, 但问题有很多, 比如, 可以访问你
的用户一定是DBMS认证了的用户, 换句话说, 可以不通过程序而直接通过
DBMS访问你的数据库. 如果一定要用, 也不是不行, 在USER NAME和PASSWORD
输入后, TRY... DATABASE.CONNECT...LOGIN SUCCESS...EXCEPT...LOGIN
FAILURE...END;就行.
关于保管USER NAME和PASSWORD, 我建议:
1. 在登陆时使用SSL, 确保不外懈; (SSL怎么做, 谁有资料或SAMPLE?)
2. 用COOKIE+ENCRYPT保存USERNAME, PASSWORD不要保存在COOKIE中, 只在
LOGIN时一次确认就可以;
3. COOKIE不要设时限, 这样关闭浏览器就同时清除COOKIE;
4. 每页都应当检查COOKIE;
另外, 你可以看看CGIEXPERT中的例子, 好象是另外的方法.
 
thanx cytown
如果每次都try,open那效率也太!!@@##$$%%^^&&**(
1、SSL用不来,烦劳TQZ大虾指教指教;
2、不好吧,如果PASSWORD不保存,那么保存什么?用户名?用户名泄露是很正常
的,稍有网络知识的人应该可以在本机模拟一个COOKIES吧?//也许瞎说了
3、你的意思是 now?
4、我看过了
 
CJ: 所以建议你不要用DBMS来做访问限制了. 还是乖乖地建拥护表吧.

2. 呵呵, COOKIES是可以设置, 所以才要ENCRYPT了. 如果PASSWORD也保存,
真正是"稍有网络知识的人应该可以在本机查看一个COOKIES吧".
3. 呵呵,你应该看看COOKIE的用法. 只要不设EXPIRE就行.
 
SSL简单啊,因为浏览器和Web Server都支持,你只要把Server的SSL设置好,浏览
器不用作任何改动。
关于Cookie可以参考ASP的做法。他给每个session一个唯一的ID,只要用户开始时
验证过身份,那么这个ID代表的用户就是安全的。由于通过SSL,别人无法截获这个
ID,而且因为ID位数很长,别人也很难猜出,所以是很安全的。
 
tqz: server的SSL怎么设定呢? 请以IIS为例!
 
cytown:
2.加密了怎么查出来?如果只返回用户名,估计别人比较容易模仿
3、好象我没错呀

tqz:
SSL IIS怎么做?
每个CLIENT的SESSION?不是CGI客户是没有稳定连接的吗?怎么个SESSION法?
麻烦您了,200呀。不够再加
 
CJ: 呵呵,加密是你加的, 解密总会吧, 返回的串用解密算法解出就行了.
模仿? 不是十分容易, 实在是机密东东, 全部SSL做, 无法模仿!
NOW设的是你服务器的时间, 也可以, 不过CLIENT时间慢的话, 会不会存在文件中
呢?(COOKIE文件) 不如不设.

SSL的问题, 我看了一下, 好象要专门机构认证的说. HTTPS怎么也连不通, 不知
什么原因.
 
也有道理,SSL怎么来的啦?TQZ在吗?
 
我来了!如果用户没有意见的话,你可以自己给自己认证阿,安装一个Microsoft
CA Server,在Option Pack 4 里面有。
至于session,首先在用户登陆时给他分配一个唯一的ID,然后返回的叶面上所有
连接加上这个ID作为参数,所有Form里面加上ID作为隐含参数,这样用户每次访问
都会带着这个ID,server就可以用过验证ID判断用户身份。
 
THANX TQZ
CA SERVER是做SSL的吗?用户可能会有什么意见?
ID是否要动态维护一张在线用户表?
 
呵呵,TGZ出的馊主意, 在FORM中加ID, 那么也太不安全了吧, 真正是稍有HTML
常识的人都可以假冒了.
CA SERVER? 没用过. 那是什么东东?
SESSION当然可以用, 但只能在ASP中用, 用DELPHI还是用我的方法吧, 呵呵,
我INTERNET编程经验多多的说:-)
 
kick cytown
又不是用户的实际ID,是系统临时分配的,在服务器端建立一个列表,把ID与用户绑
定。看见也没用,因为你得不到别人的,不管是猜还是截取都很困难。再说ASP的
Cookie你也看得见,其实是一样的。
用Cookie也行,就怕用户不让浏览器接受。
对,这个CA就是SSL CA,跟电子商务的CA不是一回事。CA有个信任问题,一般有个
公认的CA,然后其他CA得到它的信任。你自己的CA就没有其他CA给你发证书了,当然
有钱可以去办。用户的浏览器会警告用户这个CA未经授权。如果用户接受就没关系了。
 
后退
顶部