I’m trying to redirect anyone viewing my blog from certain IP addresses (or ranges of IP addresses) to a different page. I found something that works for individual IP addresses, but I can’t figure out how to block ranges of IP addresses – like 123.123.123.*
Here’s the script:
<!-- check incoming IP address -->
<script type = "text/javascript" src="http://l2.io/ip.js?var=ip"></script>
<!-- redirect list -->
<script type = "text/javascript">
window.onload = init();
function init() {
var blocklist = ["10.20.30.40","50.60.70.80"];
for (var i = 0; i < blocklist.length; i++) {
if (blocklist[i] == ip) {
window.location.replace('http://fakeblog.com/');
break;
}
}
}
</script>
I’ve found some good advice for modifying .htaccess but I don’t have access to that file. Thanks!
Advertisement
Answer
Use a regular expression instead of an array:
var blocklist = /^(10.20.30.40|50.60.70.80|123.123.123..*)$/;
if (ip.match(blocklist)) {
window.location.replace('http://fakeblock.com/');
}