No Soup

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 ?

Download

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 );
                ?>
                

Block users from a specific IP or range(s) of IPs and redirect them to another site.

 
<?php _e("Block these ip ranges
Separate with new-line
CIDR format (192.168.0.1/20)
or IP range (fromip - toip)): ", "nosoup"); ?>
<input type="text" style="width: 100%" id="no_soup_eat_that" name="no_soup_eat_that" value="eat_that; ?>" />

<input type="submit" name="Submit" value="" />

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') );

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

4 svar på ”No Soup”

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *