HJ's WebServer 0.3 ¶
- 한 하 텍트 , , 티 , 파 함
- PHP 크트 행할 (하 확 : html, htm, php)
- 토 한 index.html, index.htm, index.php
- 한 한 해 해 , 토 파 허함
To Do.. ¶
- GET Method Query String 한.
- POST Method, COOKIE 할 .
¶
~php <? $index_file = array("index.html", "index.htm", "index.php"); $host = "IP "; $port = 8080; set_time_limit(0); if(!function_exists("mime_content_type")) { function mime_content_type($f) { return exec(trim("file -bi ".escapeshellarg($f))); } } //echo str_repeat(" ",300); $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_bind($socket, $host, $port); socket_setopt($socket, SOL_SOCKET, SO_REUSEADDR, 1); socket_listen($socket); $i = 100; while($i--) { $client_socket = socket_accept($socket); $result = ""; while(false!==($read = socket_read($client_socket, 100, PHP_NORMAL_READ))) { echo "> ".$read; if(!$read = trim($read)) $cnt++; else $cnt=0; if($cnt==3) break; flush(); if(preg_match("/(GET|POST) (\/[^ \/]*) (HTTP\/[0-9]+.[0-9]+)/i", $read, $t)) { $file = "/home/kesarr".$t[2]; if(preg_match("/\/$/", $file)) { foreach($index_file as $idxf) { if(is_readable($file.$idxf)) { $file .= $idxf; break; } } } if(is_readable($file)) { $size = @getimagesize($file); if($size['mime']) $mime = $size['mime']; else $mime = mime_content_type($file); $res[] = "HTTP/1.1 200 OK"; $res[] = "Server: Kesarr's WebServer"; $res[] = "Connection: close"; $to_read = $file; } else { $res[] = "HTTP/1.1 404 Not Found"; $res[] = "Server: Kesarr's WebServer"; $res[] = "Content-Length: ".strlen("파 ."); $res[] = "Connection: close"; $res[] = "Content-Type: $size[mime];charset=UTF-8;"; $res[] = ""; $res[] = "파 ."; } } if($read == "close") { break; } elseif($read == "a") { $result = $read; } elseif($read == "exit") { socket_close($client_socket); socket_close($socket); exit; } } if($res) { if($to_read) { if(preg_match("/\.(html|htm|php)$/", $to_read)) { $buffer = shell_exec(trim("php ".escapeshellarg($to_read))); $res[] = "Content-Length: ".strlen($buffer); $res[] = ""; $result = join("\r\n", $res); @socket_write($client_socket, $result); echo $result; @socket_send($client_socket, $buffer, strlen($buffer), 0); $buf = explode("\r\n\r\n", $buffer); echo $buf[0]."\r\n\r\nPHP Parse: "; } else { $res[] = "Content-Length: ".filesize($file); $res[] = "Content-Type: ".$mime; $res[] = ""; $res[] = ""; $result = join("\r\n", $res); @socket_write($client_socket, $result); echo $result; @socket_send($client_socket, $buffer, strlen($buffer), 0); if(preg_match("/^text\//", $mime)) { $fp = fopen($to_read, "r"); echo "ASCII Read: "; } else { $fp = fopen($to_read, "rb"); echo "Binary-safe Read: "; } while(!feof($fp)){ $buffer=fread($fp,128); @socket_send($client_socket, $buffer, strlen($buffer), 0); } fclose($fp); } echo $to_read; } else { $result = join("\r\n", $res); socket_write($client_socket, $result); echo $result; } echo "\r\n__EOF__\r\n\r\n"; flush(); } socket_close($client_socket); unset($res); unset($to_read); unset($result); } socket_close($socket); ?>
형 . ㅋㅋ 했. 한 탁할 C Java 할 . - eternalbleu
- PHP 크트 할? PHP 호하 하, UI 한 틴 플 함하 틴 해. 해 하 C++, Java, C# 하 C# 택해 해, C# 클트 플 효 Windows Vista 황 할 , C/C++ 해. 하 ' ' '형태 ' DB 한 , DB RDBMS PHP 한 , Perl 해 하 해 . ㅋㅋ - 형
- PHP 해, JSP Java 해 .. JSP Java DB 트 해 PHP 편하 . DB 트 PHP Java 해 했 PHP Oracle 5.x Jsp 하 . 해 PHP 하 Jsp 하 , 환 Jsp java 클 할 . Jsp 하 Junit 하 Unit 테트 하 하 했, 한 환 Visual Studio 하 한 . java 클 할 픈 활하 .( Lucene 픈 ..). 히 Eclipse 한 환 Visual Studio 할 ..
- 해 하.. 한 험 해 . 회 키 Jsp,Java PHP .. 한 한 하 하 한, 한 하 하 해. 픈 Lucene 한 . 한 MemeHarvester 트 해 . - namsang
- 해 하.. 한 험 해 . 회 키 Jsp,Java PHP .. 한 한 하 하 한, 한 하 하 해. 픈 Lucene 한 . 한 MemeHarvester 트 해 . - namsang