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










