歡迎光臨, 訪客. 請先 登入註冊一個帳號.
三月 29, 2024, 08:09:15 下午
19595 文章 在 3865 主題 由 4580 會員
最新註冊會員: aa123aa1
LifeType 中文開發論壇  |  支援  |  安裝與設定  |  分享『只允許學校 e-mail 註冊的方法』 « 上篇主題 下篇主題 »
頁: [1]
作者 主題: 分享『只允許學校 e-mail 註冊的方法』  (閱讀 21283 次)
u882061
新手見習
*
文章: 31


檢視個人資料 個人網站
« 於: 一月 03, 2009, 07:25:31 下午 »

本伺服器的用途:部落格(lifetype、wordpress)、電子相簿(gallery2)、線上教學(Moodle)

狀況:
由於學校的使用者有數百人,大家都各自找時間註冊,因此小弟也不敢關閉註冊,如此一來,其他雜七雜八的人也可能混入,並且註冊成功...
為此,小弟有架起 LDAP,可惜並非伺服器內每種系統都有支援 LDAP,唉~LDAP就白架了...
於是從lifetype論壇中,發現有其他老師寫的 泡泡註冊網頁,挺不錯用的,可惜只支援 lifetype...
無奈,小弟只好另闢蹊徑了

思路:
lifetype、wordpress、gallery2、Moodle 都具備發註冊啟用信的功能,使用者收到,並啟用,方能成功開啟服務;管理者若能在註冊時把關,非學校 e-mail 就收不到註冊啟用信,則是不錯的方法!
可是如此一來,得去每個系統寫過濾 e-mail 程式也很麻煩,乾脆在 SMTP 的送信出口,統一做個過濾,比較簡易可行,註冊者將因為非學校信箱,而收不到註冊信,也就無法啟用部落格。

限制:
1.必須是 Linux 伺服器。
2.最好以 Postfix 作 SMTP 服務(sendmail 理論也可以,但小弟實做時失敗)。


vi /etc/postfix/main.cf

    拿掉下面這一行,前面的井字號 #
   #header_checks = regexp:/etc/postfix/header_checks

service postfix restart

vi /etc/postfix/header_checks

    在最下方訂定規則,除了學校 e-mail 以外,其他都拿掉,扔到垃圾桶,並在 /var/log/maillog 內註記drop header deny

/^TO:.*@abcd.kh.edu.tw/         ACCEPT
/^TO:.*@mail.abcd.kh.edu.tw/    ACCEPT
/^TO:.*@ms2.abcd.kh.edu.tw/    ACCEPT
/^TO: .*/                       DISCARD drop header deny


到此為止,已經搞定, 但最好提醒註冊們者必須填寫學校的信箱,才能收到啟用信。

vi  /blog/locale/admin/locale_zh_TW.php

   $messages['email_help'] = '請務必填寫學校的信箱,如此,才能收到啟用部落格的通知信。';


小缺點:註冊者若是使用其他的信箱,在註冊過程中,Lifetype依然會顯示註冊成功,但小弟已在 SMTP動手腳,所以,非學校使用者的註冊成功,是個假象,因為他收不到啟用信了 吐舌頭
此外,這種設設定方式是針對到這台伺服器中,收發信全部作過濾,若使用者有其它需求,較不適合此法。






« 最後編輯時間: 一月 06, 2009, 07:42:48 下午 由 u882061 » 已記錄

系統:Linux Fedora系列  Apache 2.2 + MySQL 5 + PHP 5.2
頁: [1]
LifeType 中文開發論壇  |  支援  |  安裝與設定  |  分享『只允許學校 e-mail 註冊的方法』 « 上篇主題 下篇主題 »
    前往: