欢迎光临, 访客. 请先 登入註册一个帐号.
十二月 18, 2017, 05:53:25 下午
19594 文章 在 3864 主题 由 4580 会员
最新註册会员: aa123aa1
LifeType 中文开发论坛  |  支援  |  安装与设定  |  如何增加限制註册者IP(非单一IP) « 上篇主题 下篇主题 »
页: [1]
作者 主题: 如何增加限制註册者IP(非单一IP)  (阅读 23901 次)
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) « 上篇主题 下篇主题 »
    前往: