CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  CGI

帮我看一下这个程序

楼主bin127(温柔一刀)2002-04-16 16:18:04 在 Web 开发 / CGI 提问

1、/usr/bin/perl   -w  
  2、use   CGI   qw(:all);  
  3、use   strict;  
  4、my   $name;  
  5、my   $passwd;  
  6、my   $cryptpasswd;  
  7、my   $name=param('name');  
  8、my   $passwd=param('passwd');  
  9、chomp   $name;  
  10、chomp   $passwd;  
  11、if   (my   $name   eq   "")   {   print   "请输入用户名!\n";   exit;}  
  12、if   (my   $passwd   eq   "")   {   print   "请输入密码!\n";   exit;}  
  13、my   $cryptpasswd=crypt($passwd,"ss");  
  14、open   (PASSWD,"/var/www/cgi-bin/shadow")||die   "你不能打开文件:$\n";  
  15、$shadow=<PASSWD>;  
  16、close(PASSWD);  
  17、(my   $user,my   $passwdshadow)=spilt(/:/,$shadow);  
  18、if   (my   $name=="$user"   &&   my   $cryptpasswd=="$passwdshadow")   {   print   "感、谢你的登录!\n";   exit;}  
  19、else   {   print   "输入错误了!\n";   exit;}  
   
   
   
  /var/www/cgi-bin/shadow是/etc/shadow的一个附本,权限是444,这个脚本前13行可以很好的运行,一旦正确的输入用户名和密码后就不能执行了,留下用户名或密码不输入就可以实现预想的功能,不知是怎么回事,各位高手指点我一下 问题点数:50、回复次数:7Top

1 楼fengxx(ohgod)回复于 2002-04-16 17:24:10 得分 10

第15行改用数组来储存试试,  
  @shadow=<PASSWD>;Top

2 楼bin127(温柔一刀)回复于 2002-04-16 20:11:13 得分 0

我只要该文件的第一行就可以了,用标量和用数组一样的啊Top

3 楼yourway(勵磁繞組,還未娶妻(至少我曾經瘦過))回复于 2002-04-17 10:39:51 得分 10

第18行:  
   
  字符串是否相同,用“eq”来判断,而不是“==”。Top

4 楼bin127(温柔一刀)回复于 2002-04-17 16:46:27 得分 0

我把18行改为以下的但只能执行下面的了else了,但print   $name;   $passwd;  
    $cryptpasswd;$passwdshadow这四个变量又能达到预期的输出。  
   
  if   (my   $name   eq   $user   &&   my   $cryptpasswd   eq   $passwdshadow)   {   print   "感、谢你的登录!\n";   exit;}  
   
  这是怎么回事呢?请各位指点一下  
  Top

5 楼yourway(勵磁繞組,還未娶妻(至少我曾經瘦過))回复于 2002-04-17 16:57:33 得分 10

把18行的两个“my”去掉。Top

6 楼icuc88(职业特种兵)回复于 2002-04-17 20:27:45 得分 0

kao,终于看见了my的乱用的后果,  
  一身冷汗。Top

7 楼domy(虫也)回复于 2002-04-17 21:54:30 得分 20

18、if   (my   $name=="$user"   &&   my   $cryptpasswd=="$passwdshadow")   {   print   "感、谢你的登录!\n";   exit;}  
   
    用   eq   而不是==  
  去掉一些my吧!建议看看Strict帮助!!  
  ^_^  
  Top

相关问题

  • 帮我看一下这个程序.
  • 帮我看一下这个程序.
  • 帮我看一下这个程序!
  • 请帮忙看一下这个程序
  • 帮我看一下程序?
  • 请帮帮忙看一下这个程序
  • 大家帮忙看一下这个C程序,菜鸟求救!!!
  • 帮忙给我看一下这个程序,很Easy的!!!!!
  • 这个程序不明白,谁能帮忙看一下?
  • 谁帮我看一下这个程序错在哪里

关键词

  • 密码
  • cgi
  • 用户
  • cryptpasswd
  • passwdshadow
  • passwd
  • eq
  • shadow
  • 输入
  • exit

得分解答快速导航

  • 帖主:bin127
  • fengxx
  • yourway
  • yourway
  • domy

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo