*/ require_once AWP_LIB_DIR . '/Plugin.php'; /** * Class AWP_IPDeny */ add_action('wp_ajax_nopriv_delete_ipbannedaccount', 'delete_ipbannedaccount'); add_action('wp_ajax_delete_ipbannedaccount', 'delete_ipbannedaccount'); function delete_ipbannedaccount() { global $wpdb; $id = $_POST['ip_id']; $table_name=$wpdb->prefix.'absp_ipdeny'; $result = $wpdb->query($wpdb->prepare("DELETE FROM " .$table_name . " WHERE ID =%d ",$id )); if($result) { echo "Success::".$id; ?> 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 */ $data = ''; $result = $wpdb->insert( $table_name, array( 'ip_address' => $ip_address, 'ip_type' => $ip_type ), array( '%s', '%s' ) ); 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; 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) { global $wpdb; $db= $wpdb->get_var("SHOW TABLES LIKE '$tableName'"); if($db == $tableName) { return TRUE; } else { return FALSE; } }