因為自己學校目前是使用 Openwebmail + LDAP 驗證

然而 LDAP 是不分大小寫的,所以就算英文 key 大寫的也可以驗證通過

今天 Google 了一下 Perl 程式的語法,發現將英文轉大寫的語法是 uc,轉成小寫的語法是 lc

所以編輯 .openwebmail.pl 檔案找到下面二段的語法

sub login {
   my $clientip=ow::tool::clientip();
   $loginname=param('loginname')||'';
   $loginname=lc $loginname;
   $loginname=~s/\s//g; # remove space,\t,\n,\r
   $default_logindomain=safedomainname(param('logindomain')||'');

sub autologin {
#auto login with cgi parm or cookie
   $loginname=param('loginname')||cookie('ow-loginname');
   $loginname=lc $loginname;
   $loginname=~s/\s//g; # remove space,\t,\n,\r

這樣就可以了!再也不會有學生因為登入輸入大寫的字母而有問題啦!

bojack 發表在 痞客邦 PIXNET 留言(1) 人氣()