'ad/'); $url0 = $_SERVER['REQUEST_URI']; $name = dirname($_SERVER['SCRIPT_NAME']).'/'; $url = ''; $t0 = array( 'html'=>'text/html;charset=iso-2022-jp', 'js'=>'text/javascript;charset=UTF-8', 'log'=>'text/plain;charset=UTF-8', 'tsv'=>'text/plain;charset=UTF-8', 'gif'=>'image/gif', 'jpg'=>'image/jpeg', 'jpeg'=>'image/jpeg', 'png'=>'image/png', 'pdf'=>'application/pdf', ); if (strpos($url0,$name)===0) { $url = substr($url0,strlen($name)); } $url1 = preg_replace('#[\?&].*$#','',$url); if ($url1==='') $url1 = 'index.html'; $url1 = ltrim($url1,'/'); $ext = strtolower(preg_replace('/^.*\./','',$url1)); $url2 = preg_replace('#/|\.#','',$url1); //$logfile = dirname(dirname(__FILE__)).'/wg/log_'.substr(date('Ym'),2).'_'.$url2.'.txt'; $logfile = dirname(__FILE__).'/wg3/log/alog_'.substr(date('Ym'),2).'_'.$url2.'.txt'; if (!file_exists($logfile)) { file_put_contents($logfile,"#Date_time\tURL\tIP\tUA\tLang\tReferer\tHostname\tStatus\n"); @chmod($logfile,0666); } //log $keys = array( 'REMOTE_ADDR', 'HTTP_USER_AGENT', 'HTTP_ACCEPT_LANGUAGE', 'HTTP_REFERER', ); $data = array( date('Y-m-d H:i:s'), preg_replace('/[\x00-\x1f]/',' ',$url0) ); foreach($keys as $key) { if (isset($_SERVER[$key])) { $data[] = $_SERVER[$key]; } else { $data[] = ''; } } $data[] = gethostbyaddr($_SERVER['REMOTE_ADDR']); if ($url) { $data[] = 'OK'; $data[1] = $url; } else { $data[] = 'NG'; } file_put_contents($logfile,join("\t",$data)."\n",FILE_APPEND); if (preg_match('!^ad2?/(https?)_(.+)$!',$url1,$m) && check_safelist($m[1].'_'.$m[2])) { header('Location: '.$m[1].'://'.$m[2]); exit; } if (file_exists($url1)) { if (isset($t[$ext])) header('Content-Type: '.$t[$ext]); else if (isset($t0[$ext])) header('Content-Type: '.$t0[$ext]); else header('Content-Type: '.$t0['html']); header('Content-Length: '.filesize($url1)); @readfile($url1); } function check_safelist($url) { global $safelistfile,$safeurls; $str = ''; if (file_exists($safelistfile)) $str = file_get_contents($safelistfile); if (strpos($str,$url)!==false) return true; //リストにあり $list = array_flip(explode("\n",trim($str))); $add = ''; foreach ($safeurls as $file=>$ptn) { $str = file_get_contents($file); $e = preg_split('! href="([^"]+)"!',$str,0,PREG_SPLIT_DELIM_CAPTURE); for ($i=1;$i