prefix.'absp_ipdeny'; $result = $wpdb->query($wpdb->prepare("DELETE FROM " .$table_name . " WHERE ID = " .$id )); if($result) { echo "Success::".$id; ?> prefix . "absp_ipdeny"; //table Name $result = mysql_list_tables(DB_NAME); $tables = array(); while ($row = mysql_fetch_row($result)) { $tables[] = $row[0]; } // Only install if the table doesn't exist if ( !in_array($table_name, $tables) ) { $query="CREATE TABLE ".$table_name ." ( `ID` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , `ip_address` VARCHAR(200), `ip_type` VARCHAR(200), `cur_timestamp` TIMESTAMP)"; $result=mysql_query($query) or die('Unable to create table, Error is'.mysql_error()); if($result) { update_option('apptivo_ipdeny_table','yes'); } } if (!$result) { return false; } return true; } function settings() { global $wpdb; $table_name = $wpdb->prefix . "absp_ipdeny"; //table Name if(isset($_POST['absp_ip'])){ $ip_type= AWP_Request::get_string("ip_type"); $error = ""; if($ip_type == 'Single') : $ip_address= AWP_Request::get_string("ip_address"); if(!$ip_address) { $error .= "Please Enter IP Address
"; }else { $validate = validateIpAddress($ip_address); if(!$validate) : $error .= "Please Enter Valid IP Address
"; endif; } else : $ip_address1= AWP_Request::get_string("ip_address1"); $ip_address2= AWP_Request::get_string("ip_address2"); $ip_address = $ip_address1.'-'.$ip_address2; if(!$ip_address1) { $error .= "Please Enter Starting IP Address
"; }else{ $validate = validateIpAddress($ip_address1); if(!$validate) : $error .= "Please Enter Valid Starting IP Address
"; endif; } if(!$ip_address2) { $error .= "Please Enter Ending IP Address
"; }else { $validate = validateIpAddress($ip_address2); if(!$validate) : $error .= "Please Enter Valid Ending IP Address
"; endif; } if(empty($error)) : $start_ip = ip2long($ip_address1); $end_ip = ip2long($ip_address2); if($end_ip <= $start_ip) { $error .= "Ending IP Address Should be greater than Starting IP Address.
"; } endif; endif; if(empty($error)) { $selected_results = $wpdb->get_results("SELECT * FROM " . $table_name . " where ip_address = '". $ip_address . "' "); if(!empty($selected_results)) { $error = 'This IP Address already banned, Please change Your IP'; } } if(empty($error)) : /* Insert into table */ $query = "INSERT INTO " . $table_name . " (ip_address, ip_type) VALUES ('". $ip_address . "','". $ip_type. "' )"; $result=mysql_query($query) or die('Unable to insert table, Error is'.mysql_error()); if($result): echo '
Sucessfully Added
'; $ip_address = ''; $ip_type = 'Single'; endif; else: echo '
'.$error.'
'; endif; } $single_select = ''; $range_select = ''; if(trim($ip_type) == 'Range') : $range_select = ' selected="selected"'; else: $single_select = ' selected="selected"'; endif; /* Create Table */ $this->create_table(); echo '

Block IP Addresses

'; echo '
(eg:100.100.100.100)

'; $this->list_table(); ?> prefix . "absp_ipdeny"; //table Name $Results = $wpdb->get_results("SELECT * FROM " . $table_name . " ORDER BY cur_timestamp DESC"); $datas = ''; if(empty($Results)) { $datas = ' No data available.'; }else { foreach($Results as $selected_results): $datas .= ''; $datas .= ''.$selected_results->ip_address .''; $datas .= ''.$selected_results->ip_type .''; $datas .= 'Delete'; $datas .= ''; endforeach; } echo '

Blocked IP Addresses

'.$datas.'
IP AddressIP TypeAction
IP AddressIP TypeAction
'; ?> 255 || intval($ip_parts)<0) return false; //if number is not within range of 0-255 } return true; } else return false; //if format of ip address doesn't matches } function check_blockip() { global $wpdb; $table_name = $wpdb->prefix . "absp_ipdeny"; //table Name $ipdeny_table = absp_table_exists($table_name); if(!$ipdeny_table) { return false; } $visitorIp = get_RealIpAddr(); $single_results = $wpdb->get_results("SELECT * FROM " . $table_name . " where ip_type='Single'"); $singles = array(); foreach($single_results as $singleresults) { array_push($singles, $singleresults->ip_address); } $range_results = $wpdb->get_results("SELECT * FROM " . $table_name . " where ip_type='Range'"); $ranges = array(); foreach($range_results as $rangeresults) { array_push($ranges, $rangeresults->ip_address); } //Chk with Single IP $status = array_search($visitorIp, $singles); // Let's check if $status has a true OR false value. if($status !== false) { return "E_IP"; exit; } $visit_ip = ip2long($visitorIp); foreach($ranges as $range_ip): $rangeparts = explode('-',$range_ip); $start_ip = ip2long($rangeparts[0]); $end_ip = ip2long($rangeparts[1]); $start_ip. '-' .$end_ip; if($visit_ip >= $start_ip && $visit_ip <= $end_ip){ return "E_IP"; exit; } endforeach; return false; } function get_RealIpAddr() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet { $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy { $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip=$_SERVER['REMOTE_ADDR']; } return $ip; } function absp_table_exists($tableName) { if( mysql_num_rows( mysql_query("SHOW TABLES LIKE '" . $tableName . "'"))) { return TRUE; } else { return FALSE; } } ?>