作者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
推 LiloHuang:你在工作站是使用root嗎? 我猜是權限問題 01/26 20:06
→ b60413:權限問題?可以請問一下是檔案的擁有者和群組要設成root嗎? 01/26 23:50
→ b60413:還是Apache的執行人要設成root? 01/26 23:51
→ b60413:我在工作站是用root在作測試的 01/26 23:56
→ b60413:我在工作站換成其他user就會出現x 所以跟權限是有關係 01/27 00:04
→ b60413:但是 有辦法將CGI執行時的權限改成root嗎? 01/27 00:04
推 LiloHuang:Google 找找setuid或者suExec的相關資料吧 要改設定 01/27 11:43