# Name: rah_ip_range v0.1 # Type: Client side plugin # Allow and block visitors based on IP-range # Author: Jukka Svahn # URL: http://rahforum.biz # Recommended load order: 5 # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YToxMTp7czo0OiJuYW1lIjtzOjEyOiJyYWhfaXBfcmFuZ2UiO3M6NjoiYXV0aG9yIjtzOjEx OiJKdWtrYSBTdmFobiI7czoxMDoiYXV0aG9yX3VyaSI7czoxOToiaHR0cDovL3JhaGZvcnVt LmJpeiI7czo3OiJ2ZXJzaW9uIjtzOjM6IjAuMSI7czoxMToiZGVzY3JpcHRpb24iO3M6NDI6 IkFsbG93IGFuZCBibG9jayB2aXNpdG9ycyBiYXNlZCBvbiBJUC1yYW5nZSI7czo0OiJoZWxw IjtzOjI4ODg6Igk8aDE+cmFoX2lwX3JhbmdlPC9oMT4KCgk8cD5CbG9jayBvciBhbGxvdyB2 aXNpdG9ycyBiYXNlZCBvbiB0aGVpciBJUC4gWW91IGNhbiBkZWZpbmUgYSBJUCByYW5nZSwg YW5kIHdoYXQgdG8gZG8gdGhvc2Ugd2hvc2UgSVAgaXMgd2l0aGluIHRoZSByYW5nZTsgZWl0 aGVyIGFsbG93LCBvciBvcHBvc2l0ZSwgZGVueSB0aGVtIGFuZCBhbGxvdyBvdGhlcnMgb3V0 c2lkZSB0aGF0IHJhbmdlIHRvIHNlZSB0aGUgcGFnZS48L3A+CgoJPHVsPgoJCTxsaT5WZXJz aW9uOiAwLjE8L2xpPgoJCTxsaT5VcGRhdGVkOiAyMDA4LzEwLzMxIDM6NTAgQU0gPHNwYW4g Y2xhc3M9ImNhcHMiPkdNVDwvc3Bhbj4rMjwvbGk+Cgk8L3VsPgoKCTxoMz5UYWJsZSBvZiBD b250ZW50czwvaDM+CgoJPHVsPgoJCTxsaT48YSBocmVmPSIjbGlzdC1vZi1mZWF0dXJlcyI+ TGlzdCBvZiBmZWF0dXJlczwvYT48L2xpPgoJCTxsaT48YSBocmVmPSIjYXR0cmlidXRlcyI+ QXR0cmlidXRlczwvYT48L2xpPgoJCTxsaT48YSBocmVmPSIjZXhhbXBsZSI+RXhhbXBsZTwv YT48L2xpPgoJCTxsaT48YSBocmVmPSIjY2hhbmdlbG9nIj5DaGFuZ2Vsb2c8L2E+PC9saT4K CTwvdWw+CgoJPGgzIGlkPSJsaXN0LW9mLWZlYXR1cmVzIj5MaXN0IG9mIGZlYXR1cmVzPC9o Mz4KCgk8dWw+CgkJPGxpPkJsb2NrIHZpc2l0b3JzIGJhc2VkIG9uIHRoZSBJUCAtcmFuZ2Uu PC9saT4KCQk8bGk+Q29tZXMgd2l0aCBhIHNpbXBsZSBjdXN0b21pemFibGUgdGFnLCA8Y29k ZT4mbHQ7dHhwOnJhaF9pcF9yYW5nZSAvJmd0OzwvY29kZT4uIEluY2x1ZGUgdGhlIHRhZyBv biwgc2VjdGlvbi9wYWdlIHRlbXBsYXRlcy9mb3Jtcywgd2hlcmUgeW91IHdhbnQgdGhlIElQ IHJhbmdlZCBibG9ja2luZy9hbGxvd2luZyB0YWtlIHBsYWNlLjwvbGk+CgkJPGxpPlJldHVy bnMgVGV4dHBhdHRlcm4mIzgyMTc7cyBlcnJvciBwYWdlIHdoZW4gdXNlciBpcyBibG9ja2Vk L2FjY2VzcyBkZW5pZWQuPC9saT4KCQk8bGk+Q3VzdG9taXphYmxlIGVycm9yIG1lc3NhZ2Ug YW5kIDxzcGFuIGNsYXNzPSJjYXBzIj5IVFRQPC9zcGFuPi1zdGF0dXMgJiM4MjExOyBhbmQg b2YgY291cnNlIFRleHRwYXR0ZXJuJiM4MjE3O3MgZXJyb3IgcGFnZSB0ZW1wbGF0ZXMuPC9s aT4KCTwvdWw+CgoJPGgzIGlkPSJhdHRyaWJ1dGVzIj5BdHRyaWJ1dGVzPC9oMz4KCgk8cD5U aGUgdGFnIGlzIDxjb2RlPiZsdDt0eHA6cmFoX2lwX3JhbmdlIC8mZ3Q7PC9jb2RlPiBhdHRy aWJ1dGVzIGZvciBpdCBmb2xsb3cuIFVzZSB0aGUgdGFnIG9uIHBsYWNlcyAocGFnZXMvZm9y bXMvc2VjdGlvbnMpIHdoaWNoIHlvdSB3YW50IHRvIHJlc3RyaWN0IGZyb20gdmlzaXRvcnMu PC9wPgoKCTxwPjxzdHJvbmc+bWVzc2FnZTwvc3Ryb25nPjxiciAvPgpFcnJvciBtZXNzYWdl IHNob3duIHRvIGJsb2NrZWQgdmlzaXRvcnMuIE1lc3NhZ2UgY2FuIGJlIHNob3duIHdpdGgg dGhlIDxjb2RlPiZsdDt0eHA6ZXJyb3JfbWVzc2FnZSAvJmd0OzwvY29kZT4gdGFnLjxiciAv PgpEZWZhdWx0OiA8Y29kZT5tZXNzYWdlPSZxdW90O0FjY2VzcyBkZW5pZWQmcXVvdDs8L2Nv ZGU+IEV4YW1wbGU6IDxjb2RlPiZxdW90O0tPJnF1b3Q7PC9jb2RlPjwvcD4KCgk8cD48c3Ry b25nPnN0YXR1czwvc3Ryb25nPjxiciAvPgo8c3BhbiBjbGFzcz0iY2FwcyI+SFRUUDwvc3Bh bj4gZXJyb3Igc3RhdHVzIGNvZGUgcmV0dXJuZWQgdG8gYmxvY2tlZCB2aXNpdG9ycy48YnIg Lz4KRGVmYXVsdDogPGNvZGU+c3RhdHVzPSZxdW90OzUwMyZxdW90OzwvY29kZT4gRXhhbXBs ZTogPGNvZGU+JnF1b3Q7MjAwJnF1b3Q7PC9jb2RlPjwvcD4KCgk8cD48c3Ryb25nPmZyb21p cDwvc3Ryb25nPjxiciAvPgpJUC1yYW5nZSYjODIxNztzIHN0YXJ0aW5nIElQIChvciBwYXJ0 aWFsIElQKS4gRGVmYXVsdCB1bnNldC48YnIgLz4KRGVmYXVsdDogPGNvZGU+ZnJvbWlwPSZx dW90OyZxdW90OzwvY29kZT4gRXhhbXBsZTogPGNvZGU+JnF1b3Q7MTI3LjAuMC4xJnF1b3Q7 PC9jb2RlPjwvcD4KCgk8cD48c3Ryb25nPnRvaXA8L3N0cm9uZz48YnIgLz4KSVAtcmFuZ2Um IzgyMTc7cyBlbmRpbmcgSVAgKG9yIHBhcnRpYWwgSVApLiBEZWZhdWx0IHVuc2V0LjxiciAv PgpEZWZhdWx0OiA8Y29kZT50b2lwPSZxdW90OyZxdW90OzwvY29kZT4gRXhhbXBsZTogPGNv ZGU+JnF1b3Q7MTI3LjAuMC4xMDAmcXVvdDs8L2NvZGU+PC9wPgoKCTxwPjxzdHJvbmc+bWV0 aG9kPC9zdHJvbmc+PGJyIC8+CldoYXQgdG8gZG8gdG8gdGhlIHZpc2l0b3Igd2hlbiBJUCBp cyB3aXRoaW4gdGhlIHJhbmdlOyBlaXRoZXIgPGNvZGU+ZGVueTwvY29kZT4gb3IgPGNvZGU+ YWxsb3c8L2NvZGU+LiBWYWx1ZSA8Y29kZT5kZW55PC9jb2RlPiBtZWFucyB0aGF0IGFsbCB2 aXNpdG9ycyB3aXRoaW4gdGhlIHJhbmdlIGFyZSBibG9ja2VkLCBhbmQgb3RoZXJzIChvdXRz aWRlKSBhcmUgYWxsb3dlZCB0byBzZWUgdGhlIHBhZ2UuIFZhbHVlIDxjb2RlPmFsbG93PC9j b2RlPiBpcyBvcHBvc2l0ZSB0byA8Y29kZT5kZW55PC9jb2RlPi48YnIgLz4KRGVmYXVsdDog PGNvZGU+bWV0aG9kPSZxdW90O2FsbG93JnF1b3Q7PC9jb2RlPiBFeGFtcGxlOiA8Y29kZT4m cXVvdDtkZW55JnF1b3Q7PC9jb2RlPjwvcD4KCgk8aDMgaWQ9ImV4YW1wbGUiPkV4YW1wbGU8 L2gzPgoKPHByZT48Y29kZT4mbHQ7dHhwOnJhaF9pcF9yYW5nZSBmcm9taXA9JnF1b3Q7MTI3 LjAuMC4xJnF1b3Q7IHRvaXA9JnF1b3Q7MTI3LjAuMC4xMDAmcXVvdDsgbWV0aG9kPSZxdW90 O2RlbnkmcXVvdDsgLyZndDsKPC9jb2RlPjwvcHJlPgoKCTxoMyBpZD0iY2hhbmdlbG9nIj5D aGFuZ2Vsb2c8L2gzPgoKCTxwPjxzdHJvbmc+VmVyc2lvbiAwLjE8L3N0cm9uZz48L3A+CgoJ PHVsPgoJCTxsaT5GaXJzdCByZWxlYXNlPC9saT4KCTwvdWw+IjtzOjQ6ImNvZGUiO3M6OTAy OiIgCSMjIyMjIyMjIyMjIyMjIyMNCgkjDQoJIwlyYWhfaXBfcmFuZ2UtcGx1Z2luIGZvciBU ZXh0cGF0dGVybg0KCSMJdmVyc2lvbiAwLjENCgkjCWJ5IEp1a2thIFN2YWhuDQoJIwlodHRw Oi8vcmFoZm9ydW0uYml6DQoJIw0KCSMjIyMjIyMjIyMjIyMjIyMNCg0KCWZ1bmN0aW9uIHJh aF9pcF9yYW5nZSgkYXR0cykgew0KCQlleHRyYWN0KGxBdHRzKGFycmF5KA0KCQkJJ21lc3Nh Z2UnID0+ICdBY2Nlc3MgZGVuaWVkJywNCgkJCSdzdGF0dXMnID0+ICc1MDMnLA0KCQkJJ2Zy b21pcCcgPT4gJycsDQoJCQkndG9pcCcgPT4gJycsDQoJCQknbWV0aG9kJyA9PiAnYWxsb3cn LA0KCQkpLCRhdHRzKSk7DQoJCQ0KCQkkZnJvbSA9IGlwMmxvbmcoJGZyb21pcCk7DQoJCSR0 byA9IGlwMmxvbmcoJHRvaXApOw0KCQkkdXNlcl9pcCA9IGlwMmxvbmcoJF9TRVJWRVJbJ1JF TU9URV9BRERSJ10pOw0KCQlpZigkdXNlcl9pcCA+PSAkZnJvbSAmJiAkdXNlcl9pcCA8PSAk dG8pIHsNCgkJCSRjaGVjayA9IHRydWU7DQoJCX0gZWxzZSAkY2hlY2sgPSBmYWxzZTsNCgkJ c3dpdGNoKCRtZXRob2QpIHsNCgkJCWNhc2UgJ2RlbnknIDogDQoJCQkJaWYoJGNoZWNrID09 IHRydWUpIHR4cF9kaWUoYXJyYXkoJ21zZycgPT4gJG1lc3NhZ2UsJ3N0YXR1cycgPT4gJHN0 YXR1cykpOw0KCQkJYnJlYWs7DQoJCQljYXNlICdhbGxvdycgOg0KCQkJCWlmKCRjaGVjayA9 PSBmYWxzZSkgdHhwX2RpZShhcnJheSgnbXNnJyA9PiAkbWVzc2FnZSwnc3RhdHVzJyA9PiAk c3RhdHVzKSk7DQoJCQlicmVhazsNCgkJCWRlZmF1bHQgOiANCgkJCQlpZigkY2hlY2sgPT0g dHJ1ZSkgdHhwX2RpZShhcnJheSgnbXNnJyA9PiAkbWVzc2FnZSwnc3RhdHVzJyA9PiAkc3Rh dHVzKSk7DQoJCQlicmVhazsNCgkJfQ0KCQlyZXR1cm4gJyc7DQoJfSI7czo0OiJ0eXBlIjtz OjE6IjAiO3M6NToiZmxhZ3MiO3M6MToiMCI7czo1OiJvcmRlciI7czoxOiI1IjtzOjM6Im1k NSI7czozMjoiMjcwM2E5ZDU3YzY2Y2QwMDkwZjZkZDMwZGE5NzVhMGYiO30=