$val) { if (strpos(strtolower($url), strval($key)) === 0) { $err_id = $key; break; } } # blank page if ($url === 'blank') { echo get_page(''); } # blank image elseif ($url === TAG_BLANK_IMG) { # -------------------------------------------------------------- # return blank image # -------------------------------------------------------------- header("Content-Type: image/gif;"); // charset=windows-1251"); echo GIF_BODY; } # error code elseif ($err_id !== 0) { $er_msg = strstr($_GET['url'], ' '); echo get_error_page($err_id, $er_msg); } # redirect url elseif ((strpos(strtolower($url), "http://") === 0) or (strpos(strtolower($url), "https://") === 0)) { # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # redirect to specified url # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ header("HTTP/1.0"); header("Location: $url", '', 302); } // error arguments else { echo get_page("sgerror: error arguments $url"); } } else { echo get_page($_SERVER['QUERY_STRING']); //$url . implode(" ", $_GET)); # echo get_error_page(500); } # ~~~~~~~~~~ # Exit # ~~~~~~~~~~ exit(); # ---------------------------------------------------------------------------------------------------------------------- # functions # ---------------------------------------------------------------------------------------------------------------------- function get_page($body) { $str = Array(); $str[] = ''; $str[] = "\n$body\n"; $str[] = ''; return implode("\n", $str); } # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # IE displayed self-page, if them size > 1024 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ function get_error_page($er_code_id, $err_msg='') { global $err_code; global $cl; $str = Array(); header("HTTP/1.1 " . $err_code[$er_code_id]); $str[] = ''; $str[] = ''; $str[] = '

Request denied by pfSense proxy: ' . $err_code[$er_code_id] . '

'; if ($err_msg) $str[] = " Reason: $err_msg"; $str[] = '
'; if ($cl['a']) $str[] = " Client address: {$cl['a']}
"; if ($cl['n']) $str[] = " Client name: {$cl['n']}
"; if ($cl['i']) $str[] = " Client user: {$cl['i']}
"; if ($cl['s']) $str[] = " Client group: {$cl['s']}
"; if ($cl['t']) $str[] = " Target group: {$cl['t']}
"; if ($cl['u']) $str[] = " URL: {$cl['u']}
"; $str[] = '
'; $str[] = ""; $str[] = ""; return implode("\n", $str); } function get_about() { global $err_code; global $page_info; $str = Array(); // about info $s = str_replace("\n", "
", $page_info); $str[] = $s; $str[] = "
"; $str[] = ''; $str[] = ' HTTP error codes (ERROR_CODE):'; foreach($err_code as $val) { $str []= "
$val"; } $str[] = '
'; return implode("\n", $str); } ?>