1<?php if (!defined('BB2_CORE')) die('I said no cheating!'); 2 3// Functions called when a request has been denied 4// This part can be gawd-awful slow, doesn't matter :) 5 6require_once(BB2_CORE . "/responses.inc.php"); 7 8function bb2_display_denial($settings, $key, $previous_key = false) 9{ 10 define('DONOTCACHEPAGE', true); // WP Super Cache 11 if (!$previous_key) $previous_key = $key; 12 if ($key == "e87553e1") { 13 // FIXME: lookup the real key 14 } 15 // Create support key 16 $ip = explode(".", $_SERVER['REMOTE_ADDR']); 17 $ip_hex = ""; 18 foreach ($ip as $octet) { 19 $ip_hex .= str_pad(dechex($octet), 2, 0, STR_PAD_LEFT); 20 } 21 $support_key = implode("-", str_split("$ip_hex$key", 4)); 22 23 // Get response data 24 $response = bb2_get_response($previous_key); 25 header("HTTP/1.1 " . $response['response'] . " Bad Behavior"); 26 header("Status: " . $response['response'] . " Bad Behavior"); 27 $request_uri = $_SERVER['REQUEST_URI']; 28 if (!$request_uri) $request_uri = $_SERVER['SCRIPT_NAME']; # IIS 29?> 30<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 31<!--< html xmlns="http://www.w3.org/1999/xhtml">--> 32<head> 33<title>HTTP Error <?php echo $response['response']; ?></title> 34</head> 35<body> 36<h1>Error <?php echo $response['response']; ?></h1> 37<p>We're sorry, but we could not fulfill your request for 38<?php echo htmlspecialchars($request_uri) ?> on this server.</p> 39<p><?php echo $response['explanation']; ?></p> 40<p>Your technical support key is: <strong><?php echo $support_key; ?></strong></p> 41<p>You can use this key to <a href="http://www.ioerror.us/bb2-support-key?key=<?php echo $support_key; ?>">fix this problem yourself</a>.</p> 42<p>If you are unable to fix the problem yourself, please contact <a href="mailto:<?php echo htmlspecialchars(str_replace("@", "+nospam@nospam.", bb2_email())); ?>"><?php echo htmlspecialchars(str_replace("@", " at ", bb2_email())); ?></a> and be sure to provide the technical support key shown above.</p> 43<?php 44} 45 46function bb2_log_denial($settings, $package, $key, $previous_key=false) 47{ 48 if (!$settings['logging']) return; 49 bb2_db_query(bb2_insert($settings, $package, $key)); 50} 51 52?> 53