if ($_SERVER['HTTP_HOST']!="ukrtransport.com" && $_SERVER['HTTP_HOST']!="www.ukrtransport.com"){
Header("Location: http://www.ukrtransport.com");
exit;
}
error_reporting (E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
$vr_time=explode(" ",microtime());
$time_skript=$vr_time[1]+$vr_time[0];
require "const.php4";
//Header("HTTP/1.1 503 Service Unavailable"); include dir_html."exit_mess.html"; exit;
//сайт временно недоступен
if ($_SERVER['REMOTE_ADDR']=="192.162.115.532222"){
Header("HTTP/1.1 503 Service Unavailable");
//echo "";
include dir_html."exit_mess.html";
exit;
}
//echo $_SERVER["SCRIPT_NAME"]."xx1
";
//echo $_SERVER['REQUEST_URI']."xx2
";
//echo $GLOBALS["QUERY_STRING"]."xx3
";
//echo $URL2."xx4
";
//require "errhandler.php4";
//Проверяем не корневой ли каталог хотят
//echo $_SERVER['REQUEST_URI'];
if (getenv("REQUEST_URI")==="/" and getenv("REQUEST_URI")==="\\" ) {
$FileName=strtr(__FILE__,"\\","/");
$ReqName=ereg_Replace("\\?.*","",strtr(getenv("REQUEST_URI"),"\\","/"));
if(eregi(quotemeta($ReqName),$FileName)) {
// Выводим сообщение об ошибке
include "libhandler.err";
// Записываем в журнал данные о пользователе
$f=fopen(dir_log."404.log","a+");
fputs($f,date("d.m.Y H:i.s"). getenv("REMOTE_ADDR")." - Попытка доступа к обработчику\r\n");
fclose($f);
// Завершаем работу
exit;
}
}
// Все в порядке ? корректируем переменные окружения в соответствии
// с запрошенным пользователем адресом.
//function GetAbsPath($name,$cur="") { return abs_path($name,$cur); }
function abs_path($name,$cur="")
{ // Преобразуем обратные слэши в прямые
$name=strtr(trim($name),"\\","/");
// Сначала разбиваем путь по знакам "/"
$Parts=explode("/",$name);
$Path=($cur===""?getcwd():$cur); // начальный каталог поиска
foreach($Parts as $i=>$s) if($s!=".") {
// Признак корневого каталога?
if(!$i && (strlen($s)>1&&$s[1]==":"||$s=="")) $Path=$s;
// Ссылка на родительский каталог?
elseif($s=="..") {
// Если это уже корневой каталог, то куда спускаться?..
if(strlen($Path)>1 && $Path[1]==":") continue;
// Иначе используем dirname()
$p=dirname($Path);
if($p=="/"||$p=="\\"||$p==".") $Path=""; else $Path=$p;
}
// Иначе просто имя очередного каталога
elseif($s!=="") $Path.="/$s";
}
return ($Path!==""?$Path:"/");
}
function Url2Path($name)
{
$curUrl=dirname($GLOBALS["SCRIPT_NAME"]);
$url=abs_path(trim($name),$curUrl);
return getenv("DOCUMENT_ROOT").$url;
}
@putenv("SCRIPT_NAME=".
$GLOBALS["HTTP_ENV_VARS"]["SCRIPT_NAME"]=
$GLOBALS["HTTP_SERVER_VARS"]["SCRIPT_NAME"]=
$GLOBALS["_SERVER"]["SCRIPT_NAME"]=
$GLOBALS["SCRIPT_NAME"]=
ereg_Replace("\\?.*","",$_SERVER["QUERY_STRING"])
);
@putenv("REQUEST_URI=".
$GLOBALS["HTTP_ENV_VARS"]["REQUEST_URI"]=
$GLOBALS["HTTP_SERVER_VARS"]["REQUEST_URI"]=
$GLOBALS["_SERVER"]["REQUEST_URI"]=
$GLOBALS["REQUEST_URI"]=
$_SERVER['REQUEST_URI']
);
@$vr2=explode("?",$_SERVER["QUERY_STRING"]);
@putenv("QUERY_STRING=".
$GLOBALS["HTTP_ENV_VARS"]["QUERY_STRING"]=
$GLOBALS["HTTP_SERVER_VARS"]["QUERY_STRING"]=
$GLOBALS["_SERVER"]["QUERY_STRING"]=
$GLOBALS["QUERY_STRING"]=
$vr2[1]
);
$HTTP_GET_VARS=$_GET;
$HTTP_POST_VARS=$_POST;
@$var_key=array_keys($_GET);
@$var_cont=array_values($_GET);
@$vr=explode("?",$var_key[0]);
if (@$vr[1]){$_GET[$vr[1]]=$var_cont[0];$HTTP_GET_VARS[$vr[1]]=$var_cont[0];$_REQUEST[$vr[1]]=$var_cont[0]; }
//echo $_SERVER["SCRIPT_NAME"]."xx1
";
//echo $_SERVER['REQUEST_URI']."xx2
";
//echo $_SERVER["QUERY_STRING"]."xx3
";
//echo $URL2."xx4
";
//$GLOBALS["SCRIPT_NAME"] = $_SERVER['REQUEST_URI'];
$URL2=Url2Path($GLOBALS["SCRIPT_NAME"]);
//$URL2=str_replace("/nocache","",$URL2);// убираем мнимый путь
if (file_exists($URL2)){
chdir(dirname($URL2));
}
//проверяем не сайт ли пользователя хотят
if ($_SERVER['REQUEST_URI']<>"/" && strpos($_SERVER['REQUEST_URI'],"/system/")===false && strpos($_SERVER['REQUEST_URI'],"/webstat/")===false && strpos($_SERVER['REQUEST_URI'],"/board/")===false && strpos($_SERVER['REQUEST_URI'],"/directory/")===false && strpos($_SERVER['REQUEST_URI'],"/info/")===false){ //обработчик
$obr=1;
// подключаем
ob_start();// включаем буфер
define('INC_ON', true);
//подключае библиотеку
include(dir_lib."inc.php4");
include "my_web.php4";
}
// если нет обработчиков подключаем запрошеный файл
if (!isSet($obr)) {
// проверяем есть ли запрошеный файл или может хотят обьявления
if (file_exists($URL2) || strpos($_SERVER['REQUEST_URI'],"/board/")!==false || strpos($_SERVER['REQUEST_URI'],"/directory/")!==false) {
// подключаем запрошеный файл
// подключения файла
ob_start();// включаем буфер
define('INC_ON', true);
//подключае библиотеку
include(dir_lib."inc.php4");
// подключаем запрошеный файл или обработчик обьявлений
$obr=0;
if (strpos($_SERVER['REQUEST_URI'],"/board/")!==false){
include dir_serv."board/publ_lib.php4";
$obr=1;
}
if (strpos($_SERVER['REQUEST_URI'],"/directory/")!==false){
include dir_serv."directory/dir_lib.php4";
$obr=1;
}
if (!$obr){
// замена для тестовых скриптов
//if (@$autor_user_user==5){$URL2=str_replace("/view_uid.php","/view_uid2.php",$URL2);}
//if (@$autor_user_user==5){$URL2=str_replace("/index.html","/morda.html",$URL2);}
//if (@$autor_user_user==5){$URL2=str_replace("/black.php","/black_1.php",$URL2);}
//if (@$autor_user_id==5034){$URL2=str_replace("/edit_my_web.php","/edit_my_web1.php",$URL2);}
// подключаем запрошеный файл
include $URL2;
}
$bufer1=ob_get_contents(); // текст в буфере
ob_end_clean(); // отключает буфер
ob_start(); // устанавливаем перехват в буфер
$file_skelet="sk1.php";
if(@$ver_sk==2){$file_skelet="sk2.php";}
if(@$ver_sk==99){$file_skelet="sk_admin.php";}
if(@$ver_sk==98){$file_skelet="sk_moder.php";}
if(@$ver_sk==3){$file_skelet="sk_forum.php";}
if(@$ver_sk==10){$file_skelet="sk_test.php";}
if ($file_skelet=="sk1.php" && (@$_SERVER['REMOTE_ADDR']=="80.90.232.254x" || strpos($_SERVER['HTTP_USER_AGENT'],"3C_Validator")!=false) ){
$file_skelet="sk1.php";
}
include dir_sk.$file_skelet;
}
else {
// Выводим сообщение об ошибке
//Header("HTTP/1.1 404 File Not Found");
ob_start();// включаем буфер
define('INC_ON', true);
//подключае библиотеку
include(dir_lib."inc.php4");
include dir_lib."404.php";
$bufer1=ob_get_contents(); // текст в буфере
ob_end_clean(); // отключает буфер
ob_start(); // устанавливаем перехват в буфер
include dir_sk."sk1.php";
}
}
$bufer_end=ob_get_contents(); // текст в буфере
ob_end_clean(); // отключает буфер
//if (isset($co_cart) || isSet($co_us_id)){
//$bufer_end=str_replace("href=\"/","href=\"/nocache/",$bufer_end);
//$bufer_end=str_replace("HREF=\"/","href=\"/nocache/",$bufer_end);
//$bufer_end=str_replace("action=\"/","action=\"/nocache/",$bufer_end);
//$bufer_end=str_replace("ACTION=\"/","action=\"/nocache/",$bufer_end);
//}
if (@$cache && !@$autor_user_id && !count($_POST) && !@$er404){ //если кешировать
if (!@$lastModified){ // если дата модификации неизвесна
//$url=printf("%u",crc32($_SERVER['REQUEST_URI']));
//$content=printf("%u",crc32($bufer_end.@$links_s_all));
$url=crc32($_SERVER['REQUEST_URI']);
$content=crc32($bufer_end.@$links_s_all);
$sql="
SELECT
url,
content,
UNIX_TIMESTAMP(data_mod) As data_timestamp
FROM cache
WHERE url='$url'
LIMIT 0,1
;";
$result = mysql_query($sql);
if (!$result){$opis_err="Запрос к базе не выполнен".mysql_error(); include dir_lib."500.php";}
$kolvo_zap=mysql_num_rows ($result);
if ($kolvo_zap > 0 ) {// Исли такая страница есть
$rowres = mysql_fetch_array($result);
if ($rowres['content']<>$content){// если содержимое не совпадает
$vrem=date("Y-m-d H:i:s");
$result2 = mysql_query("UPDATE cache SET content='$content', data_mod='$vrem' WHERE url='$url';");
if (!$result2){$opis_err="Запрос к базе не выполнен".mysql_error(); include dir_lib."500.php";}
$lastModified=time();
}
else{$lastModified = $rowres['data_timestamp'];} // если совпадает
}
else { //если такой страницы нет
$vrem=date("Y-m-d H:i:s");
$result2 = mysql_query("insert into cache (url, content, data_mod) VALUES('$url', '$content', '$vrem')");
if (!$result2){ $opis_err="Запрос insert into user_tab не выполнен"; include dir_lib."500.php";}
$lastModified=time();
}
}
// Получаем заголовки запроса клиента ? только для Apache
$request = getallheaders();
if (isset($request['If-Modified-Since'])) {
// Разделяем If-Modified-Since (Netscape < v6 отдаёт их неправильно)
$modifiedSince = explode(';', $request['If-Modified-Since']);
// Преобразуем запрос клиента If-Modified-Since в таймштамп
$modifiedSince = strtotime($modifiedSince[0]);
} else {
// Устанавливаем время модификации в ноль
$modifiedSince = 0;
}
// Сравниваем время последней модификации контента с кэшем клиента
if ($lastModified <= $modifiedSince) {
// Разгружаем канал передачи данных!
Header("Last-Modified: ".gmdate("D, d M Y H:i:s",$lastModified)." GMT");
Header("Expires:");
Header("Cache-Control:"); // HTTP/1.1
Header("Pragma:"); // HTTP/1.0
Header('HTTP/1.1 304 Not Modified');
}
else{
//Header("Expires: ".gmdate("D, d M Y H:i:s",(time()+120))." GMT");
Header("Expires:");
Header("Cache-Control:"); // HTTP/1.1
Header("Pragma:"); // HTTP/1.0
Header("Last-Modified: ".gmdate("D, d M Y H:i:s",$lastModified)." GMT");
echo $bufer_end;
}
}
else { //если не кешировать
Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Дата в прошлом
Header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
Header("Pragma: no-cache"); // HTTP/1.0
Header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
echo $bufer_end;
if (@$autor_user_user==5){
//время работы скрипта
$vr_time=explode(" ",microtime());
$time_skript2=$vr_time[1]+$vr_time[0];
$time_script_vr=($time_skript2-$time_skript)*10000;
$time_script_vr=round($time_script_vr);
$time_script_vr=$time_script_vr/10000;
echo "TEST Сгенерировано за $time_script_vr c.";
echo "
URL:".$URL2." - ".$_SERVER['REQUEST_URI'];
echo " IP - ".$_SERVER['REMOTE_ADDR'];
echo "SP=".@$test_sape;
}
}
// cтатистика по IP
$result = mysql_query("SELECT ip_id FROM stat_ip WHERE ip_ip='".$_SERVER['REMOTE_ADDR']."' LIMIT 0,1;");
if (!$result){$opis_err="Запрос к базе не выполнен".mysql_error(); include dir_lib."500.php";}
$rows = @mysql_num_rows($result);
if ($rows>0){// если есть такой IP то просто добовляем количество страниц
if (@$autor_company_name){$str_company=", ip_company_name='".$autor_company_name."'";}
$result = mysql_query("UPDATE stat_ip SET ip_kol=ip_kol+1 ".@$str_company." WHERE ip_ip='".$_SERVER['REMOTE_ADDR']."';");
//статистика
$result = mysql_query("UPDATE statistic SET stat_seg=stat_seg+1 WHERE stat_id=7;");
}
else{// если нет то пишем новую запись
$result = mysql_query("INSERT INTO stat_ip (ip_id, ip_ip, ip_kol, ip_ref, ip_agent, ip_company_name) VALUES (NULL, '".$_SERVER['REMOTE_ADDR']."', '1', '".(UrlDecode(@$_SERVER['HTTP_REFERER']))."', '".@$_SERVER['HTTP_USER_AGENT']."', '".@$autor_company_name."');");
//статистика
$result = mysql_query("UPDATE statistic SET stat_seg=stat_seg+1 WHERE stat_id=5;");
$result = mysql_query("UPDATE statistic SET stat_seg=stat_seg+1 WHERE stat_id=7;");
// домены источники (рефер определяется в inc.php4)
if (@$refer){
if ($refer!="ukrtransport.com"){
$result = mysql_query("insert into refer (refer_url) VALUES ('$refer');");
}
}
// конец домены источники
}
// конец cтатистики по IP
// пишем время исполнения скрипта в файл
$fname_stat="/home/ukrtransport.com/data/stest_glavn.txt";
if ($_SERVER['REQUEST_URI']<>"/")$fname_stat="/home/ukrtransport.com/data/stest.txt";
$vr_time=explode(" ",microtime());
$time_skript2=$vr_time[1]+$vr_time[0];
$time_script_vr=($time_skript2-$time_skript);
$fd=fopen($fname_stat,"r+");
if ($fd != false) {
$time_strng=explode("|",fgets($fd,100),4);
if ($time_script_vr <1) $time_strng[0] = $time_strng[0] + 1;
if ($time_script_vr >= 1 && $time_script_vr < 2) $time_strng[1] = $time_strng[1] + 1;
if ($time_script_vr >= 2 && $time_script_vr < 5) $time_strng[2] = $time_strng[2] + 1;
if ($time_script_vr >=5) $time_strng[3] = $time_strng[3] + 1;
$time_str=$time_strng[0]."|".$time_strng[1]."|".$time_strng[2]."|".$time_strng[3];
$f=fseek($fd,0);
$f=fputs($fd,$time_str);
//echo $time_str;
$f=fclose($fd);
}
exit;
?>