来源: 本站版本: (.NET)JTBC2.0
1. 打开模块代码文件 模块\common\codefile\default.cs
在代码
public partial class module: jpage
{
下面添加
private bool Check_IP()
{
bool pass = true;
int tiponoff = cls.getNum(jt.itake("config.ip-on-off", "cfg"), 0);
string tipon = jt.itake("config.ip-on", "cfg");
string tUserIP = cls.getSafeString(request.ClientIP());
if (tiponoff == 1) {
object[] tArysAip = tipon.Split('|');//后台设置的多个用"|"分隔的IP格式成数组
object[] tArysUip = tUserIP.Split('.');//用户的单个IP格式成数组
if (tArysAip != null)
{
for (int tis = 0; tis < tArysAip.Length; tis ++)
{
pass = true;
string tArysAipSub = (string)tArysAip[tis];//单个IP转成字符串
object[] tArysSip = tArysAipSub.Split('.');//单个IP格式成数组
if (tArysSip != null) {
for (int ti = 0; ti < tArysSip.Length; ti ++)
{
if(tArysUip.Length == 4 && (string)tArysSip[ti] != (string)tArysUip[ti]) pass = false;//判断用户的IP是否在设置的IP中
}
if((string)tArysSip[0]==(string)tArysUip[0] && (string)tArysSip[1]==(string)tArysUip[1] && (string)tArysSip[2]==(string)tArysUip[2] && (string)tArysSip[3] == "*") pass = true;//IP段前三位相等
}
if(pass) break;//如果有权限,跳出循环判断
}
}
}
return pass;
}
private string Module_Ip()
{
string tmpstr = "";
tmpstr = jt.itake("default.ip", "tpl");
string tUserIP = cls.getSafeString(request.ClientIP());
tmpstr = tmpstr.Replace("{$ip}", tUserIP);
tmpstr = jt.creplace(tmpstr);
return tmpstr;
}
修改模块默认加载函数
protected void Page_Load()
{
PageInit();
ac.cntitle(jt.itake("default.channel_title", "lng"));
string tmpstr = "";
string tType = cls.getString(request.querystring("type"));
if(Check_IP())
{
switch(tType)
{
case "list":
tmpstr = Module_List();
break;
case "detail":
tmpstr = Module_Detail();
break;
default:
tmpstr = Module_Default();
break;
}
}else{
tmpstr = Module_Ip();
}
PagePrint(tmpstr);
PageClose();
}
2. 打开模板文件 模块\common\template\default.JTBC
添加item节点一组
<item>
<name><![CDATA[ip]]></name>
<tpl_default><![CDATA[{$=webHead("default_head")}
<div id="middle">
<div id="middleContent">
<table cellpadding="0" cellspacing="0" class="tablen">
<tr>
<td class="nav"><span>{$=inavigation()}</span></td>
</tr>
<tr>
<td class="topic"><div>您的IP是{$ip},无权限访问</div></td>
</tr>
<tr>
<td height="10"></td>
</tr>
</table>
<div class="clear"></div>
</div>
</div>
{$=webFoot("default_foot")}]]></tpl_default>
</item>
3. 打开配置文件 模块\common\config.jtbc
在代码
<item>
<name><![CDATA[nuptype]]></name>
<chinese><![CDATA[.bmp.jpg.gif.png]]></chinese>
</item>
下面添加
<item>
<name><![CDATA[ip-on-off]]></name>
<chinese><![CDATA[1]]></chinese>
</item>
<item>
<name><![CDATA[ip-on]]></name>
<chinese><![CDATA[192.168.1.101|192.168.10.*|192.168.10.1]]></chinese>
</item>
4. 使用说明:
配置文件中参数说明:
ip-on-off 如果为1,则打开IP权限检测功能,如果为0,则关闭IP限制功能
ip-on 此处填写允许访问的ip或ip段格式为192.168.1.101|192.168.10.*|192.168.10.1,
其中可设置允许的单个ip和ip段,ip段格式为,前三位为数据,最后一位为*号.
IP和IP段的数量不限制,顺序不限制,每个中间用英文|隔开即可.
如果ip-on为空,则不允许任何ip访问.
以上已测试过功能正常.
技术支持QQ:925474725