免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4865 | 回复: 7
打印 上一主题 下一主题

cgi session [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-01-19 09:33 |只看该作者 |倒序浏览
看了一下cgi::session 和apache::session两个module,对session 了解得更多了,但是还是有很多迷惑的地方

1、他们都是使用md5来生成一个session id,并使用cookie发送给客户端,问题是这个session id应该可以很容易的拿到,如果有人假冒,服务器段没有什么好的办法去判断,在cgi::session里提供了一个-ip-match开关,但是在互联网上很多人都是通过防火墙来上网的,这也意味着多个客户端可能有同一个ip地址。不知道还有没有其他好的办法?

2、在客户端校验用户名和密码的时候,怎么才能让客户端发送的密码不出现在ie的地址栏里?有没有什么办法在客户端本地加密?在传送过程中我知道可以选择ssl

感谢各位的回答!

论坛徽章:
0
2 [报告]
发表于 2004-01-19 13:21 |只看该作者

cgi session

[quote]原帖由 "iwanthome"]1、他们都是使用md5来生成一个session id,并使用cookie发送给客户端,问题是这个session id应该可以很容易的拿到,如果有人假冒,服务器段没有什么好的办法去判断[/quote 发表:


所以如果你对安全要求很高,就要用 SSL 来加密 server 和 用户端的数据传输。
否则其他人可以监听你的network ,来获得session id. 但如果你的 network 被监听,所有明文传输的密码都是可以获得。 session id 反而不是你首要考虑的了。话又说回来,如果你对安全要求很高,就要用 SSL 来加密 server 和 用户端的数据传输。

另外 md5 生成的 string 都是足够长(比如使用Digest::MD5 里的 md5_base64 生成 BS1+1ySMDuN+fqp7hnMRYw),几乎可以考虑不会有重复,如果去猜测一个 session id ,等猜到后,用户的 session 早已过期了。

安全的 session 该是综合 session id 的独特性,时效性两点,另外再加上 SSL.  普通的网站象论坛对安全性要求不高,所以没有 SSL 也无所谓。而象做网上交易的网站如 银行就一定要使用 SSL . 所以你就看到很多 https://

[quote]原帖由 "iwanthome"]在cgi::session里提供了一个-ip-match开关,但是在互联网上很多人都是通过防火墙来上网的,这也意味着多个客户端可能有同一个ip地址[/quote 发表:


要知道使用 user agent , ip 等客户端的信息只是用来 _帮助_ 验证 session id, 正如你提到的这一点, 很多人通过防火墙来上网让使用 ip帮助验证 session id失去意义。 有利有弊。 所以在你使用类似的功能前,搞清可能面临的问题。

[quote]原帖由 "iwanthome"]2、在客户端校验用户名和密码的时候,怎么才能让客户端发送的密码不出现在ie的地址栏里?有没有什么办法在客户端本地加密?在传送过程中我知道可以选择ssl [/quote 发表:


客户端发送的密码出现在ie的地址栏里? 你在做什么?

论坛徽章:
0
3 [报告]
发表于 2004-01-19 14:17 |只看该作者

cgi session

客户端发送的密码出现在ie的地址栏里? 你在做什么?
我还没有真正去做这个东西,我只是想我的一个网页初始画面就是用户登陆画面,看了一下html的东西,好像密码是用input type = password来实现,问题是这个东西应该是在html 的post 里明码存放的吧?会不会就是这样的形式xxx.cgi?password=xxxx,我在网上的一些网站试着登陆了一下,好像在ie的地址栏里没有出现这样的东西,所以我想问一下他们是怎么实现的。
多谢!

论坛徽章:
0
4 [报告]
发表于 2004-01-19 15:46 |只看该作者

cgi session

post 的数据是不会显示在 url 里。

但传输的格式和 get 一样。你自己登录某个网站时运行监听的工具看一下就知道了。

建议你买本网络编程的书或到网上找找这些基础的知识的资料。

论坛徽章:
0
5 [报告]
发表于 2004-01-19 15:58 |只看该作者

cgi session

非常感谢你的回答!
那你的意思是我使用post来传输用户名和密码就可以了?还有没有什么更安全的方法?

论坛徽章:
0
6 [报告]
发表于 2004-01-19 16:13 |只看该作者

cgi session

我使用sniffer抓了一下包,确实是明码传输,是不是目前没有什么好的办法可以对用户的密码加密?ssl应该可以,还有别的吗?象网上银行这样的安全性较高的网站,好像都有一个本地保存的文件用于加密,不知道这个东西是怎么实现的。
另外我想问一下,如果要实现ssl,是否与perl没有什么关系,只需要客户端的浏览器和服务器的httpd软件支持就行了,是否我只需要配置几个参数就可以了,perl的编程应该没有什么特殊的地方吧?

感谢!
顺祝新年快乐!

论坛徽章:
0
7 [报告]
发表于 2004-02-03 14:16 |只看该作者

cgi session

侠客们,能不能贴一段PERL中使用SESSION的小程序看看?????
这段时间要用到用户判断问题,但不知道怎么做,麻烦各位大侠!!!

论坛徽章:
0
8 [报告]
发表于 2004-02-13 14:07 |只看该作者

cgi session

perldoc CGI::Session
perldoc CGI::Session::CookBook
perldoc CGI::Session::Tutorial
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP