Block users from a specific IP or range(s) of IPs and redirect them to another site.
Use with care, it’s version 0.3 ?
bad_ip_ranges = get_option('_no_soup_bad_ip_ranges', ''); $this->eat_that = get_option('_no_soup_eat_that', ''); } public function init_admin() { add_options_page(__('No Soup', "nosoup"), __('No Soup', "nosoup"), 'manage_options', basename(__FILE__), array(&$this, 'no_soup_admin_page') ); } public function no_soup_admin_page() { // Handle updates if( !empty($_POST) && $_POST[ 'action' ] == 'no-soup-save' ) { check_admin_referer('no-soup-save', 'no-soup-nonce'); $this->bad_ip_ranges = esc_html($_POST[ 'no_soup_bad_ip_ranges' ]); update_option('_no_soup_bad_ip_ranges', $this->bad_ip_ranges ); $this->eat_that = esc_html($_POST[ 'no_soup_eat_that' ]); update_option('_no_soup_eat_that', $this->eat_that ); ?>eat_that && $this->banned_ip() ) : wp_redirect( $this->eat_that ); die; endif; } private function banned_ip() { $ip = $_SERVER['REMOTE_ADDR']; $networks = preg_split("/[\r\n,]+/", $this->bad_ip_ranges); foreach ( $networks as $range ) : if ( false === strpos($range, '-')) : if ( 3 in_cidr( $range, $ip ) ) : return true; endif; else : if ( $this->in_ip_range($range, $ip)) : return true; endif; endif; endforeach; return false; } function in_cidr($network, $ip) { $ip_arr = explode('/', $network); $network_long = ip2long($ip_arr[0]); $x = ip2long($ip_arr[1]); $mask = long2ip($x) == $ip_arr[1] ? $x : 0xffffffff << (32 - $ip_arr[1]); $ip_long = ip2long($ip); return ($ip_long & $mask) == ($network_long & $mask); } function in_ip_range($range, $ip){ $range = preg_replace("'\s+'", '', $range); if ( false === strpos( $range, '-') ) : return ( $ip_start == $ip ); else : list($ip_start, $ip_end) = preg_split('/-/', $range); $iplong = ip2long( $ip ); return ( ip2long( $ip_start ) = $iplong ); endif; } } } if ( ! function_exists( '_log' ) ) { function _log() { if( WP_DEBUG === true ) { $args = func_get_args(); error_log( print_r( $args, true ) ); } } } // Init class if (class_exists("NoSoup")) { $nosoup = new NoSoup(); } add_action( 'admin_menu', array(&$nosoup, 'init_admin') ); add_action( 'init', array(&$nosoup, 'check_ip') );Block users from a specific IP or range(s) of IPs and redirect them to another site.
If you want to block for instance the IP-addresses of swedish authorities, you can use the ranges below and instead show them the way to the Wikipedia article about ACTA. I’m not saying you should, I’m just saying you could, ok?
193.44.94.0 - 193.44.94.255 193.15.242.192 - 193.15.242.223 195.67.14.48 - 195.67.14.63 194.71.64.0 - 194.71.82.255 192.137.161.0 - 192.137.164.255 192.165.145.0 - 192.165.145.255 80.252.170.244 - 80.252.170.247 194.52.83.0 - 194.52.83.255 195.67.14.64 - 195.67.14.127 130.242.25.0 - 130.242.25.255 195.198.201.208 - 195.198.201.215 195.67.88.208 - 195.67.88.223 81.216.70.0 - 81.216.70.255 212.181.33.112 - 212.181.33.115 212.181.33.12 - 212.181.33.15 212.28.207.32 - 212.28.207.63 217.77.240.177 - 217.77.240.177 217.77.247.160 - 217.77.247.163 192.71.128.0 - 192.71.128.255 194.16.218.60 - 194.16.218.63 194.18.111.24 - 194.18.111.27 62.65.85.16 - 62.65.85.31 192.165.31.0 - 192.165.31.255 192.165.173.0 - 192.165.173.255 195.198.122.144 - 195.198.122.159 192.36.96.0 - 192.36.96.255 193.182.184.0 - 193.182.184.255 193.182.190.0 - 193.182.190.255 195.5.185.0 - 195.5.185.255 194.103.14.0 - 194.103.15.255 85.119.130.192 - 85.119.130.207 85.119.133.128 - 85.119.133.191 212.181.83.0 - 212.181.83.3 192.121.27.0 - 192.121.27.255 192.121.211.0 - 192.121.218.255 213.50.75.16 - 213.50.75.31 193.234.1.0 - 193.234.141.255 193.235.152.0 - 193.235.152.255 193.241.212.0 - 193.241.212.255 194.18.73.0 - 194.18.73.255 194.18.169.0 - 194.18.171.255 192.121.237.0 - 192.121.237.255 193.180.162.0 - 193.180.163.255 194.52.96.0 - 194.52.127.255 194.16.84.160 - 194.16.84.167 195.84.103.128 - 195.84.103.191 195.84.15.32 - 195.84.15.47 195.84.76.0 - 195.84.76.255 81.216.66.0 - 81.216.66.31 194.198.144.0 - 194.198.144.255 80.80.64.0 - 80.80.65.255 192.121.238.0 - 192.121.238.255 62.20.16.216 - 62.20.16.223 195.58.108.96 - 195.58.108.127 195.58.108.128 - 195.58.108.159 195.58.110.248 - 195.58.110.255 195.67.68.48 - 195.67.68.55 195.67.81.48 - 195.67.81.63 195.84.193.80 - 195.84.193.95 193.181.64.0 - 193.181.127.255 193.241.252.0 - 193.241.252.255 193.241.0.0 - 193.241.211.255 193.241.213.0 - 193.241.251.255 193.241.253.0 - 193.241.255.255 192.121.30.0 - 192.121.30.255 143.118.0.0 - 143.118.255.255 192.121.44.0 - 192.121.44.255 62.119.64.128 - 62.119.64.135 212.247.172.64 - 212.247.172.95 145.235.0.0 - 145.235.255.255 192.121.50.0 - 192.121.52.255 192.165.140.0 - 192.165.141.255 159.72.0.0 - 159.72.255.255 62.119.150.16 - 62.119.150.31 194.14.184.0 - 194.14.186.255 192.121.82.0 - 192.121.82.255 192.121.200.0 - 192.121.202.255 159.190.0.0 - 159.190.255.255 192.36.5.0 - 192.36.5.255 212.247.200.64 - 212.247.200.95 192.121.90.0 - 192.121.90.255 130.242.58.0 - 130.242.58.255 138.215.0.0 - 138.215.255.255 212.214.131.192 - 212.214.131.223 212.247.50.144 - 212.247.50.159 192.121.219.0 - 192.121.219.255 62.95.69.0 - 62.95.69.255 62.95.13.160 - 62.95.13.175 91.199.170.0 - 91.199.170.255 62.119.21.32 - 62.119.21.63 213.131.146.64 - 213.131.146.79 62.95.35.0 - 62.95.35.31 195.67.83.80 - 195.67.83.95 213.242.135.0 - 213.242.135.7 62.119.134.8 - 62.119.134.15 62.119.24.8 - 62.119.24.15 150.227.0.0 - 150.227.255.255 192.36.132.0 - 192.36.132.255 192.36.14.0 - 192.36.14.255 192.36.220.0 - 192.36.220.255 192.36.221.0 - 192.36.221.255 193.180.254.0 - 193.180.254.255 147.186.0.0 - 147.186.255.255 195.67.26.48 - 195.67.26.51 195.67.45.136 - 195.67.45.143 195.198.83.24 - 195.198.83.31 212.162.184.104 - 212.162.184.111 137.61.0.0 - 137.61.255.255 137.60.0.0 - 137.60.255.255 137.59.0.0 - 137.59.255.255 192.121.131.0 - 192.121.131.255 193.15.216.208 - 193.15.216.223 193.15.200.48 - 193.15.200.63 195.198.184.208 - 195.198.184.223 156.49.0.0 - 156.49.255.255 62.20.16.216 - 62.20.16.223 62.20.57.192 - 62.20.57.223 212.181.19.0 - 212.181.19.255 62.127.100.40 - 62.127.100.47 192.36.25.0 - 192.36.25.255 192.165.69.0 - 192.165.69.255 193.181.190.0 - 193.181.191.255 193.235.83.0 - 193.235.84.255 194.132.96.0 - 194.132.103.255 193.10.58.0 - 193.10.59.255 193.182.167.0 - 193.182.167.255 62.13.78.0 - 62.13.79.255 213.115.124.8 - 213.115.124.11 213.242.135.144 - 213.242.135.159 82.136.153.64 - 82.136.153.95 192.36.213.0 - 192.36.213.255 192.165.64.0 - 192.165.64.255 193.12.105.0 - 193.12.105.255 195.42.219.208 - 195.42.219.215 192.121.89.0 - 192.121.89.255 130.242.12.0 - 130.242.12.255 130.242.60.24 - 130.242.60.31 195.17.245.40 - 195.17.245.47 213.88.173.0 - 213.88.173.15 193.15.197.32 - 193.15.197.47 195.67.16.32 - 195.67.16.63 194.50.107.0 - 194.50.107.255 62.181.240.120 - 62.181.240.135 83.241.192.88 - 83.241.192.91 130.242.22.0 - 130.242.22.255 195.67.76.224 - 195.67.76.255 213.80.95.40 - 213.80.95.47 80.252.162.192 - 80.252.162.207 194.18.111.96 - 194.18.111.103 192.165.243.0 - 192.165.243.255 192.176.242.0 - 192.176.242.255 194.198.105.0 - 194.198.105.255 194.198.255.0 - 194.198.255.255 193.121.206.128 - 193.121.206.159 212.181.96.224 - 212.181.96.231 62.20.85.128 - 62.20.85.143 213.115.92.240 - 213.115.92.247 88.131.68.108 - 88.131.68.111 88.131.16.180 - 88.131.16.183 83.241.222.192 - 83.241.222.223 91.217.186.0 - 91.217.186.255 213.199.105.128 - 213.199.105.135 193.15.189.192 - 193.15.189.255 82.182.190.0 - 82.182.190.255 194.198.96.0 - 194.198.96.255 213.115.31.0 - 213.115.31.15
Large Blocklists from iblocklist.com in CIDR format don’t save. WP ver 3.3.1
Send the blocklist to jonas.nordstrom@gmail.com and I will investigate what went wrong.