| Current Path : /var/www/html/mmishra/irp/nweb/ |
| Current File : /var/www/html/mmishra/irp/nweb/webserver.php.bak |
<?php
echo "<html><head><title>demonhuunter's PHP Web server!</title></head><body>";
include("icdp.inc.php");
error_reporting(E_ALL);
set_time_limit(0); //Timout, keep at 0
date_default_timezone_set('Asia/Calcutta');
ob_implicit_flush(); //Output data to the web brouser or console as we go
$address = '172.31.1.35'; //your ip
$port = 8080; //Port to listen
//$address = 'localhost';//'172.26.23.161'; //your ip
//$port = 80; //Port to listen
$sock = socket_create(AF_INET, SOCK_STREAM, 0) or die ("socket_create() failed.");
@socket_bind($sock, $address, $port) or die ("socket_bind() failed");
@socket_listen($sock, 5) or die("socket_listen() failed");
echo "<font color='red'>Server Started on ". date('d-M-Y') .".<br><br></font>";
do {
if (($Thesocket = socket_accept($sock)) < 0) {
echo "socket_accept() failed: reason: " . socket_strerror ($msgsock) . "\n";
break;
}
if (FALSE === ($buf = socket_read($Thesocket, 2048))) {
echo "socket_read() failed: reason: " . socket_strerror ($ret) . "\n";
break 2;
}
$some = substr($buf, 4, strlen($buf));
$rest = strstr($some, " ");
$request = substr($some, 0 , strlen($some) - strlen($rest));
if($request == "/Down") die ("<br><br><font color='red'>Server Shut Down.</font>");
if (!$request) $request = "index.html";
if($request == "/"){
$request = "/index.html";
$mime = "text/html";
} else {
$rev = strrev($request);
$dot = strstr($rev, ".");
$GetEX = substr($request, strlen($dot), strlen($request) - strlen($dot));
switch($GetEX) {
case $GetEX == "gif":
$mime = "image/gif";
break;
case $GetEX == "jpg":
$mime = "image/jpeg";
break;
case $GetEX == "zip":
$mime = "aplication/zip";
break;
case $GetEX == "exe":
$mime = "aplication/exe";
break;
case $GetEX == "bmp":
$mime = "image/bmp";
break;
case $GetEX == "mov":
$mime = "video/quicktime";
break;
case $GetEX == "mp3":
$mime = "video/mpeg";
break;
case $GetEX == "mpeg":
$mime = "video/mpeg";
break;
case $GetEX == "txt":
$mime = "text/plain";
break;
default:
$mime = "text/html";
break;
}
}
$request = str_replace("//", "/", $request);
$content = "";
//$filename = "C:\html\phpserver" .$request;
$filename = "/var/www/websites/nweb/www/" .$request;
$fd = @fopen($filename, "rb");
if ($fd) {
$content = fread($fd, filesize($filename));
fclose($fd);
}
//filter web obsolescence
$content = @checkExpiry($content);
// Create a temporary file in the temporary files directory file content filtering
$tempfile = tempnam(sys_get_temp_dir(), 'tmp');
$fd = @fopen($tempfile, "w");
if ($fd) {
fwrite($fd, $content);
fclose($fd);
}
//read temporary created HTML file of unexpired web content
$fd = @fopen($tempfile, "rb");
if ($fd) {
$content = fread($fd, filesize($tempfile));
fclose($fd);
}
if($content == "") {
$lens = strlen($content);
$datas = "HTTP/1.0 404 OBJECT NOT FOUND\r\nServer: MicahServer 3.2PHP\r\nDate: 8/01/02\r\nConnection: close\r\nContent-Length: $lens\r\nContent-Type: text/html\r\n\r\n$content";
socket_write($Thesocket, $datas, strlen ($datas));
} else {
$lens = filesize($tempfile);
$today = date("m.d.y");
$datas = "HTTP/1.0 200 OK\r\nServer: MicahServer 3.2PHP\r\nDate: $today\r\nConnection: close\r\nContent-Length: $lens\r\nContent-Type: $mime\r\n\r\n";
socket_send($Thesocket, $datas, strlen($datas), 0);
$S = 0;
$copyD = "";
$DD = filesize($tempfile);
while($S <= $DD){
$HTML = substr($content, $S, 2048);
$S += 2048;
socket_write($Thesocket, $HTML, strlen($HTML));
}
}
echo "<pre>$buf</pre>\r\n<br>$content\r\n";
socket_close($Thesocket);
} while(true);
socket_close($sock);
?>