作者b60413 (赖宏)
看板Perl
标题Re: [问题] CGI使用模组
时间Sat Jan 26 00:55:15 2008
之前的问题好像是因为use User::pwent才会导致错误的样子
如果我直接使用getpwnam就可以取得user的资讯
但是如果搭配CGI的话密码或变成'x'
我去网路上找了相关问题 但都没有人回答
不知道有谁也曾遇过相同问题
修改sub check内部程式码为
my $userPass=(getpwnam("$FORM{'mysqlWordID'}"))[1]; #取得User的密码
my $salt=(split(/\$/,$tmpData))[2]; #取得Crypt的$salt
my $testPasswd=unix_md5_crypt($FORM{'mysqlWordPass'},$salt);
第一行当中的$userPass如果是在工作站用perl直译的话 可以跑出密码
但是如果移植到CGI作业 就会变成'x'
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.232.65.72
1F:推 LiloHuang:你在工作站是使用root吗? 我猜是权限问题 01/26 20:06
2F:→ b60413:权限问题?可以请问一下是档案的拥有者和群组要设成root吗? 01/26 23:50
3F:→ b60413:还是Apache的执行人要设成root? 01/26 23:51
4F:→ b60413:我在工作站是用root在作测试的 01/26 23:56
5F:→ b60413:我在工作站换成其他user就会出现x 所以跟权限是有关系 01/27 00:04
6F:→ b60413:但是 有办法将CGI执行时的权限改成root吗? 01/27 00:04
7F:推 LiloHuang:Google 找找setuid或者suExec的相关资料吧 要改设定 01/27 11:43