接了个ZF网站,其中有一个功能是需要对新闻进行IP限制的...你们懂的..废话就不说了..直接上代码

首先找到添加和就改新闻的地方加上

在/dede/templets下面

article_add.htm,article_edit.htm二个文件

分别加入

<tr>
      <td height="24" colspan="5" class="bline">
      <table width="800" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="90">&nbsp;IP限制:</td>
          <td width="449"><textarea name="xzip" rows="5" id="xzip" style="width:80%;height:50px"><?php echo $xzip; ?></textarea></td>
          <td width="261"></td>
        </tr>
        <tr><td width="800" colspan="3" style="color: red">(格式:192.168.1.1-192.168.1.10,202.10.3.214.1-202.10.3.215.230   多个用半角逗号隔开)</td></tr>
      </table>
      </td>
  </tr>

 

 <tr>
      <td height="24" colspan="5" class="bline">
      <table width="800" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="90">&nbsp;IP限制:</td>
          <td width="449"><textarea name="xzip" rows="5" id="xzip" style="width:80%;height:50px"><?php echo  $arcRow["xzip"]; ?></textarea></td>
          <td width="261"></td>
        </tr>
        <tr><td width="800" colspan="3" style="color: red">(格式:192.168.1.1-192.168.1.10,202.10.3.214.1-202.10.3.215.230   多个用半角逗号隔开)</td></tr>
      </table>
      </td>
  </tr>

 

加的位置你们自己看着办....

 

然后在dede_archives表添加一个字段xzip  text类型

 

这样就可以开始添加能通过的ip端了

 

 

然后在生成模板的地方

点击查看原图

这里可以看到文章模板是自己写的

文章生成的规则是php  生成的是php文件

这样生成出来的文件就可以执行php

这里我们来看下文章模板里面怎么写

 

直接在顶部添加

<?php
require_once '/../../../../../include/common.inc.php';
$ip = $_SERVER["REMOTE_ADDR"];
$geturl=str_replace('.php','',$_SERVER['REQUEST_URI']);
$idArr = explode("/",$geturl);
$id = $idArr[count($idArr)-1];
$row=$dsql->GetOne("SELECT * FROM dede_archives where id = $id ");
$ipArr = explode(",",$row['xzip']);
$num = 0;
foreach($ipArr as $k=>$v){
 $ipstr = explode("-",$v);


 $qip = explode(".",$ipstr[0]);
 $hip = explode(".",$ipstr[1]);

 $dip = explode(".",$ip);

 if($dip[0] >= $qip[0] && $dip[0] <= $hip[0]){
  if($dip[1] >= $qip[1] && $dip[1] <= $hip[1]){
   if($dip[2] >= $qip[2] && $dip[2] <= $hip[2]){
    if($dip[3] >= $qip[3] && $dip[3] <= $hip[3]){
     $num = $num+1;
    }
   }
  }
 }
}
if($num ==  0 ){
 ShowMsg("IP限制,无权访问!","/index.php");
 exit();
}
?>

 

这里要注意...必须写<?php   ?>  而不能用dede自带的标签

因为生成之后写的什么就生成什么

比如写{dede:php}{/dede:php}  那么他直接生成这句..不解析的

所以要写<?php   ?>

 

这样..这整个过程就算写好了

 

本文章原创...转载请注明........http://www.wulinlw.org/?post=193                谢谢

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

et_highlighter