相關筆記:http://student.csdn.net/space.php?uid=140899&do=blog&id=38706
我倆的網站的留言板有較大改進,改進後的頁面更加穩定。為了防範自重新整理大量請求的衝擊,設定了ip禁止,以後會添加自動判別危險ip並設為禁止訪問。
現有功能:1、留言添加;2、分頁展示;3、跳轉到指定頁;4、留言尋找;5、留言片段截取與完整顯示;6、ip訪問禁止,支援ip段禁止。
計劃中功能:1、留言排序、編輯;2、留言回複、刪除;3、管理登入、使用登入;4、Ajax最佳化。(看樣子要學的東西還不少...)
下貼出ip禁止實現代碼:20100823global.php
Code:
- <?php
- session_start();
- //加IP訪問限制
- //擷取訪客ip
- if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
- $userip = getenv('HTTP_CLIENT_IP');
- } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
- $userip = getenv('HTTP_X_FORWARDED_FOR');
- } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
- $userip = getenv('REMOTE_ADDR');
- } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
- $userip = $_SERVER['REMOTE_ADDR'];
- }
- //構造禁止ip段列表
- //$userip = '61.1.37.235'; 測試用
- $_SESSION[$Uip]=$userip;
- $arr_ip = array(); //二維數組,支援禁止ip段
- $arr_ip[0] = array();
- $arr_ip[0][0] = '220';
- $arr_ip[0][1] = '181';
- $arr_ip[0][2] = '24';
- $arr_ip[0][3] = '100';
- $arr_ip[1] = array();
- $arr_ip[1][0] = '260'; //bendi:60
- $arr_ip[1][1] = '1';
- $arr_ip[1][2] = '37';
- $arr_ip[1][3] = '235';
- $arr_ip[2] = array();
- $arr_ip[2][0] = '320'; //xuhao:120
- $arr_ip[2][1] = '10';
- $arr_ip[2][2] = '147';
- $arr_ip[2][3] = '210';
- $arr_ip[3] = array();
- $arr_ip[3][0] = '000';
- $arr_ip[3][1] = '000';
- $arr_ip[3][2] = '000';
- $arr_ip[3][3] = '000';
-
- //print_r($arr_ip); 測試用
- $ip_arr = explode('.', $userip); //分解IP
- //print_r($ip_arr); 測試用
- for($i=0;$i<count($arr_ip);$i++){
- if($ip_arr[0] == $arr_ip[$i][0] && $ip_arr[1] == $arr_ip[$i][1] && $ip_arr[2] == $arr_ip[$i][2] && $ip_arr[3] == $arr_ip[$i][3]){ //調整$arr_ip[$i]判斷深度可設定限制ip段
- $ok=1;break;
- }else{
- $ok=0;
- }
- }
- if ($ok==0){
- echo "<div style=/"position:absolute; height:0px;/"></div>";
- }
- else
- {
- header('Location: http://******.php');
- //echo "測試二";
- exit;
- }
- ?>
留言板查看頁面: