歡迎光臨, 訪客. 請先 登入註冊一個帳號.
三月 29, 2024, 06:20:56 上午
19595 文章 在 3865 主題 由 4580 會員
最新註冊會員: aa123aa1
LifeType 中文開發論壇  |  支援  |  安裝與設定  |  如何增加限制註冊者IP(非單一IP) « 上篇主題 下篇主題 »
頁: [1]
作者 主題: 如何增加限制註冊者IP(非單一IP)  (閱讀 33712 次)
cchien
新手見習
*
文章: 3


檢視個人資料
« 於: 五月 31, 2007, 11:05:27 上午 »

大家好:
我自己從網路上搜尋到兩種方式來限制註冊者IP作法,但都是只能單一IP限制,無法做多組IP過濾限制,想請教各位是否有解決方式。
第一種方式:
學校部落格僅開放校內 IP 註冊:
修改 LifeType 網站根目錄的 register.php
在檔案開頭 <?php 後面加入下面一行
include( PLOG_CLASS_PATH."checkip.php" );

建立 checkip.php 這個檔案
<?php
include( PLOG_CLASS_PATH."class/net/client.class.php");
$myIP = new Client();
$ip = substr($myIP->getIp(), 0, 12);

if (strcmp($ip,'140.127.243.') == 0){
echo "Your IP:". $myIP->getIp() . "<br>";
echo 'IP 檢查 OK';
} else {
// Header("Location: summary.php");
Header("Refresh:5;URL=summary.php");
echo '<meta http-equiv="refresh" content="5; URL=summary.php">';
echo "您的 IP 是:". $myIP->getIp() . "不是本校 IP,不開放對外註冊!";
exit;
}
?>
 
你可以看到是檢查ip前12位元,如果比對成立就顯示檢查OK,往前執行,如果不是顯示不是本校 IP,不開放對外註冊

資料來源:http://b2d.phc.edu.tw/modules/tadbook2/view.php?book_sn=12&bdsn=684

第二種方式:※限制使用者註冊IP

class/summary/action/registeraction.class.php

//限制IP註冊
$ip = ( getenv("HTTP_X_FORWARDED_FOR" ) ) ? getenv("HTTP_X_FORWARDED_FOR" ) : getenv("REMOTE_ADDR" );
$Filter1 = ereg("允許的網段", $ip);

if( $config->getValue( "summary_disable_registration" ) || $Filter1 != "1" ) {

資料來源:http://blogs.mcps.tp.edu.tw/blog/9
已記錄
lss
我不是被~拉~~出來的,不要叫我大大!
總版主
超級會員
*****
文章: 1511



檢視個人資料 個人網站
« 回覆文章 #1 於: 六月 01, 2007, 08:00:33 上午 »

與其使用 IP 網段限制註冊,造成使用者的不便,不如改用學校其他服務的身份認證,例如 LDAP 、 Email … 等等。

這樣做的好處是,有學校其他網路服務帳號的人才能註冊 blog ,而且不會受限於離開學校就無法申請。

現下可以透過自行開發的 userdata provider 界面來完成,比起之前尚未提供 userdata provider 的版本應該好做多了。

我是蠻早就想做了,一直抽不出時間就是了  傷心

如果有做出來,那是一定會分享的,但是完全沒有時間表哦!

lss
已記錄

沒找過 常見問題集或不知道 如何在 LifeType 中文開發論壇發問的人,恕不回答問題
wkwtb
新手見習
*
文章: 5


檢視個人資料
« 回覆文章 #2 於: 六月 01, 2007, 11:42:33 上午 »

你要限制的IP是?

第一個是我寫的~ 土法煉鋼~ 我這個人要不然就是很龜毛,能力不夠龜毛不起來的時候就會自暴自棄.. 就像第一個方法一樣 Q_Q


看了一下,第二個方法比較好的感覺,找個時間我也去更新一下我的資料


還是一樣,土法煉鋼幫你改一下第二個
改成下面這樣試試看,程式不漂亮,在找到更好的方法之前,撐著點用,
懶得測試.... 不能用別怪我


$ip = ( getenv("HTTP_X_FORWARDED_FOR" ) ) ? getenv("HTTP_X_FORWARDED_FOR" ) : getenv("REMOTE_ADDR" );

do {
    $Filter1 = 0;

    $Filter1 = ereg("允許的網段1", $ip);
    if ($Filter1 =="1")
        break;

    $Filter1 = ereg("允許的網段2", $ip);
    if ($Filter1 =="1")
        break;

    $Filter1 = ereg("允許的網段3", $ip);
    if ($Filter1 =="1")
        break;

} while (0);

if( $config->getValue( "summary_disable_registration" ) || $Filter1 != "1" ) {
已記錄
cchien
新手見習
*
文章: 3


檢視個人資料
« 回覆文章 #3 於: 六月 02, 2007, 09:17:08 上午 »

與其使用 IP 網段限制註冊,造成使用者的不便,不如改用學校其他服務的身份認證,例如 LDAP 、 Email … 等等。
這樣做的好處是,有學校其他網路服務帳號的人才能註冊 blog ,而且不會受限於離開學校就無法申請。
現下可以透過自行開發的 userdata provider 界面來完成,比起之前尚未提供 userdata provider 的版本應該好做多了。
我是蠻早就想做了,一直抽不出時間就是了  傷心
如果有做出來,那是一定會分享的,但是完全沒有時間表哦!
lss
Lss您好:
我有找到可以利用學務系統(sfs3)的帳號密碼來做註冊前的認證,但這只能做教職員的認證當然也可以作學生的認證檢查,但因為自己有一些忙沒有針對學生部分做帳號密碼的建立,所以想說只要用限制IP區段的方式來作為註冊的控制方法。
你要限制的IP是?

第一個是我寫的~ 土法煉鋼~ 我這個人要不然就是很龜毛,能力不夠龜毛不起來的時候就會自暴自棄.. 就像第一個方法一樣 Q_Q


看了一下,第二個方法比較好的感覺,找個時間我也去更新一下我的資料


還是一樣,土法煉鋼幫你改一下第二個
改成下面這樣試試看,程式不漂亮,在找到更好的方法之前,撐著點用,
懶得測試.... 不能用別怪我


$ip = ( getenv("HTTP_X_FORWARDED_FOR" ) ) ? getenv("HTTP_X_FORWARDED_FOR" ) : getenv("REMOTE_ADDR" );

do {
    $Filter1 = 0;

    $Filter1 = ereg("允許的網段1", $ip);
    if ($Filter1 =="1")
        break;

    $Filter1 = ereg("允許的網段2", $ip);
    if ($Filter1 =="1")
        break;

    $Filter1 = ereg("允許的網段3", $ip);
    if ($Filter1 =="1")
        break;

} while (0);

if( $config->getValue( "summary_disable_registration" ) || $Filter1 != "1" ) {
另外,我也試著修改checkip.php這程式,做了以下的增加(紅色部分)也可以做到我想要的需求。
$myIP = new Client();
$ip = substr($myIP->getIp(), 0, 10);
if (strcmp($ip,"IP區段1") == 0 || strcmp($ip,"IP區段2") == 0 ){
« 最後編輯時間: 七月 03, 2007, 12:05:40 下午 由 markwu » 已記錄
puffy
新手見習
*
文章: 2


檢視個人資料
« 回覆文章 #4 於: 九月 09, 2008, 03:23:38 下午 »

請問一下有那位先進己經寫出可以用某一個mail網域來限制註冊了嗎?
例如:我只想讓abc.com.tw這個mial的user註冊要怎麼做
已記錄
頁: [1]
LifeType 中文開發論壇  |  支援  |  安裝與設定  |  如何增加限制註冊者IP(非單一IP) « 上篇主題 下篇主題 »
    前往: