PHP Socket Usage

RJM Programming - September, 2017

Thanks to http://php.net/manual/en/function.socket-select.php

You can enter (and later see) an HTML filename off http://www.rjmprogramming.com.au/PHP/socket/
"; if (strpos(strtoupper(('' . PHP_OS)), "WINDOW") === false && strpos($_SERVER['SERVER_NAME'],"rjmprogramming.com.au") === false) { $numis="1337"; $othern="1337"; if (isset($_GET['msg'])) { if (strpos($_GET['msg'], ".html") !== false) { exec('echo "' . "GET http://www.rjmprogramming.com.au/PHP/socket/" . str_replace("+"," ",urldecode($_GET['msg'])) . " HTTP/1.0 " . str_replace("+"," ",urldecode($_GET['msg'])) . "" . '" | nc 27.54.94.234 ' . $numis . ' > /tmp/mysocket' . $numis . '.tmp 2> /dev/null'); echo str_replace("</body>",$formbit . "</body>",str_replace("",$formbit . "",file_get_contents("/tmp/mysocket" . $numis . ".tmp"))); } else { header('Location: http://www.rjmprogramming.com.au/PHP/socket/client_local_b.php?msg=' . $_GET['msg']); exit; exec('echo "' . str_replace("+"," ",urldecode($_GET['msg'])) . '" | nc 27.54.94.234 ' . $numis . ' > /tmp/mysocket' . $numis . '.tmp 2> /dev/null'); echo str_replace("</body>",$formbit . "</body>",str_replace("",$formbit . "",str_replace("\n","
",file_get_contents("/tmp/mysocket" . $numis . ".tmp")))); } } else { exec('echo "' . "GET http://www.rjmprogramming.com.au/PHP/socket/testx.html HTTP/1.0 testx.html" . '" | nc 27.54.94.234 ' . $numis . ' > /tmp/mysocket' . $numis . '.tmp 2> /dev/null'); echo "
" . str_replace("\n","
",file_get_contents("/tmp/mysocket" . $numis . ".tmp")) . "
" . $formbit . ""; } } else { if (strpos($_SERVER['SERVER_NAME'],"rjmprogramming.com.au") === false) { $addr = gethostbyname("127.0.0.1"); } else { $addr = gethostbyname("www.rjmprogramming.com.au"); } $client2=null; try { $client = stream_socket_client("tcp://$addr:1337", $errno, $errorMessage, 2); //try { // $client2 = stream_socket_client("tcp://$addr:1338", $errno, $errorMessage, 2); //} catch (Exception $e1) { // throw new UnexpectedValueException("Failed to connect: $errorMessage"); //} } catch (Exception $e2) { //try { // $client = stream_socket_client("tcp://$addr:1338", $errno, $errorMessage, 2); //} catch (Exception $e3) { // throw new UnexpectedValueException("Failed to connect: $errorMessage"); //} } if (isset($_GET['msg'])) { if (strpos((str_replace("+"," ",urldecode($_GET['msg'])) . "*"), ".html*") !== false) { fwrite($client, "GET http://www.rjmprogramming.com.au/PHP/socket/" . str_replace("+"," ",urldecode($_GET['msg'])) . " HTTP/1.0 " . str_replace("+"," ",urldecode($_GET['msg']))); // str_replace("+"," ",urldecode($_GET['msg']))); } else { file_put_contents("msg.html", "
" . str_replace("+"," ",urldecode($_GET['msg'])) . "
"); fwrite($client, "GET http://www.rjmprogramming.com.au/PHP/socket/msg.html HTTP/1.0 msg.html"); // str_replace("+"," ",urldecode($_GET['msg']))); } if ($client2) { if (strpos((str_replace("+"," ",urldecode($_GET['msg'])) . "*"), ".html*") !== false) { fwrite($client2, "GET http://www.rjmprogramming.com.au/PHP/socket/" . str_replace("+"," ",urldecode($_GET['msg'])) . " HTTP/1.0 " . str_replace("+"," ",urldecode($_GET['msg']))); //str_replace("+"," ",urldecode($_GET['msg']))); } else { file_put_contents("msg.html", str_replace("+"," ",urldecode($_GET['msg']))); fwrite($client2, "GET http://www.rjmprogramming.com.au/PHP/socket/msg.html HTTP/1.0 msg.html"); //str_replace("+"," ",urldecode($_GET['msg']))); } } } else { fwrite($client, "GET / HTTP/1.0\r\nHost: www.rjmprogramming.com.au\r\nAccept: */*\r\n\r\n"); if ($client2) fwrite($client2, "GET / HTTP/1.0\r\nHost: www.rjmprogramming.com.au\r\nAccept: */*\r\n\r\n"); } if ($client && $client2) { echo str_replace("</body>",$formbit . "</body>",str_replace("",$formbit . "",stream_get_contents($client))) . "\n" . str_replace("</body>",$formbit . "</body>",str_replace("",$formbit . "",stream_get_contents($client2))); fclose($client); fclose($client2); } else if ($client) { echo str_replace("</body>",$formbit . "</body>",str_replace("",$formbit . "",stream_get_contents($client))); fclose($client); } else if ($client2) { echo str_replace("</body>",$formbit . "</body>",str_replace("",$formbit . "",stream_get_contents($client2))); fclose($client2); } }