网站会员注册php代码,帝国cms会员注册/e/member/register/index.php文件代码注释-网站程序网...

require('../../class/connect.php');

require('../../class/db_sql.php');

require('../class/user.php');

require('../class/member_registerfun.php');

$link=db_connect();

$empire=new mysqlquery();

$editor=1;

eCheckCloseMods("member");//验证是否关闭前台会员模块

if($public_r["register_ok"])

{

printerror("CloseRegister","history.go(-1)",1);

}

eCheckTimeCloseDo("reg");//验证时间段允许操作

eCheckAccessDoIp("register");//验证IP

$tobind=(int)$_GET["tobind"];

//如果设置了会员注册地址, 则转向注册

if(!empty($ecms_config["member"]["registerurl"]))

{

header("location:".$ecms_config["member"]["registerurl"]);

exit();

}

//已经登陆不能注册

if(getcvar("mluserid")){

//您已登录, 不能注册帐号

printerror("LoginToRegister","history.go(-1)",1);

}

//多会员组中转注册地址

if(!empty($ecms_config["member"]["changeregisterurl"])&&!$_GET["groupid"])

{

$changeregisterurl=$ecms_config["member"]["changeregisterurl"];

if($tobind)

{

$changeregisterurl.='?tobind=1';

}

header("location:".$changeregisterurl);

exit();

}

$groupid=(int)$_GET["groupid"];

$groupid=$groupid?$groupid:eReturnMemberDefGroupid();//如果$groupid为false则返回默认会员组ID

CheckMemberGroupCanReg($groupid);//验证会员组是否可注册

$formid=GetMemberFormId($groupid);//取得表单id

if(empty($formid))

{

printerror("ErrorUrl","",1);

}

$ecmsfirstpost=1;

$formfile='../../data/html/memberform'.$formid.'.php';

require(ECMS_PATH.'e/template/member/register.php');

db_close();

$empire=null;

?>

//函数eCheckCloseMods在/e/class/connect.php

//验证是否关闭相关模块

function eCheckCloseMods($mod){

global $public_r;

if(strstr($public_r["closemods"],",".$mod.",")){

echo $mod." is close";

exit();

}

}

//函数eCheckTimeCloseDo在/e/class/connect.php

//验证操作时间

function eCheckTimeCloseDo($ecms){

global $public_r;

//限定操作时间的操作 reg注册会员 info投稿 pl评论 gbook留言板

if(stristr($public_r["timeclosedo"],",".$ecms.",")){

//G小时, 24小时格式, 没有前导零, 0到23

$h=date("G");

if(strstr($public_r["timeclose"],",".$h.",")){

printerror("ThisTimeCloseDo","history.go(-1)",1);

}

}

}

//函数eCheckAccessDoIp在/e/class/connect.php

//验证提交IP

function eCheckAccessDoIp($doing){

global $public_r,$empire,$dbtbpre;

//opendoip 允许IP提交列表, 只有当用户处于本列表中的IP地址时才可以提交数据, 列表以外的地址提交将视为IP被禁止, 每个IP一行, 既可输入完整地址, 也可只输入IP开头, 例如"192.168."(不含引号)可匹配192.168.0.0~192.168.255.255范围内的所有地址, 留空为所有IP除明确禁止的以外均可访问

//closedoip 禁止IP提交列表, 每个IP一行, 既可输入完整地址, 也可只输入IP开头, 例如"192.168."(不含引号)可匹配192.168.0.0~192.168.255.255范围内的所有地址, 留空为不设置

//doiptype 控制动作, register注册 pl评论 postinfo投稿 gbook留言 downinfo下载 onlineinfo在线观看 showinfo查看信息

$pr=$empire->fetch1("select opendoip,closedoip,doiptype from {$dbtbpre}enewspublic limit 1");

if(!strstr($pr["doiptype"],",".$doing.",")){

return "";

}

$userip=egetip();

//允许IP

if($pr["opendoip"]){

$close=1;

foreach(explode("\n",$pr["opendoip"]) as $ctrlip){

//string preg_quote(string $str [,string $delimiter=NULL])

//preg_quote()需要参数str并向其中每个正则表达式语法中的字符前增加一个反斜线。这通常用于你有一些运行时字符串需要作为正则表达式进行匹配的时候。

//正则表达式特殊字符有:.\+*?[^]$(){}=!<>|:-

//注意/不是正则表达式特殊字符

//str 输入字符串

//delimiter 如果指定了可选参数delimiter, 它也会被转义, 这通常用于转义PCRE函数使用的分隔符。/是最常见的分隔符。

if(preg_match("/^(".preg_quote(($ctrlip=trim($ctrlip)),'/').")/",$userip)){

$close=0;

break;

}

}

if($close==1){

printerror("NotCanPostIp","history.go(-1)",1);

}

}

//禁止IP

if($pr["closedoip"]){

foreach(explode("\n",$pr["closedoip"]) as $ctrlip){

if(preg_match("/^(".preg_quote(($ctrlip=trim($ctrlip)),'/').")/",$userip)){

printerror("NotCanPostIp","history.go(-1)",1);

}

}

}

}

//验证提交来源

function CheckCanPostUrl(){

global $public_r;

//前台允许提交的来源地址(一行为一个地址)

if($public_r["canposturl"]){

$r=explode("\r\n",$public_r["canposturl"]);

$count=count($r);

$b=0;

for($i=0;$i

if(strstr($_SERVER["HTTP_REFERER"],$r[$i])){

$b=1;

break;

}

}

if($b==0){

printerror("NotCanPostUrl","",1);

}

}

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值