How to i programatically change the page thats loaded from hook_init?
you can do somthing like this:

function MY_MODULE_init() {
    global $user;

    // or you can also use ip_address() function
    if($user-&gt;hostname == 'MY_BLOCKED_IP') {
      drupal_goto('node/NID_OF_IP_BLOCKED_NODE');
    }
  }


2-aproach (this is a recommended way. Because hook_init() will be removed from drupal v8):

// in template.php
function MY_THEME_preprocess_page(&amp;$variables) {
  if($variables['user']-&gt;hostname == 'BLOCKED_IP') {
    drupal_goto('node/NID_OF_IP_BLOCKED_NODE');
  }
}