Plugin: No Soup

Jag gjorde en plugin (No Soup) som kan spärra vissa IP-adresser från att komma åt din WordPress-sajt och istället skicka iväg dem till en annan adress. Den kan också ta hela IP-block och peka om dem.

Det här skulle till exempel kunna användas för att neka tillträde åt svenska myndigheter militär och politiska partier och istället skicka iväg dem till Wikipedias artikel om ACTA

Läs mer om No Soup.
Ladda ner No Soup från WordPress repository

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

Jonas tipsar 16 January 2012

Jonas tipsar 11 Januari 2012

Jonas tipsar 9 januari 2012

 

Listan skapades av Delicious Curator

Jonas tipsar, 5 januari 2012

 

Jag testar en ny plugin som skapar WordPress-inlägg baserat på taggar från Delicious. Från google reader (eller direkt på delicious.com eller via bookmarklet) så bokmärker jag en webbsida på Delicious och taggar den med något som visar att den ska publiceras här. Sen är det bara att med en knapptryckning generera WordPress-inlägget när jag vill. Listan här ovan är skapad med min plugin.

Hojta om du vill vara med och prova den.

Pluggen är väldigt inspirerad av Shareditems2WP.