Open port and log IP

Discussion in 'PHP' started by thesurface, May 17, 2015.

  1. #1
    So basically this will opens a port at 3053 and i want to log those IP which connects to that port into port.txt, but it wont log, can you help me why ?

    <?php
    $ip = $_SERVER['REMOTE_ADDR'];
    // port number
    $port = 3053;
    // open the socket
    $socket = socket_create_listen($port);
    if ($socket === false) die("Error");
    while (true) {
        // accept a request
        $client = socket_accept($socket);
        while (true) {
    	$buf = socket_read($client, 2048);
            if ($buf == "") break;
            echo $buf;
       $fp = fopen("port.txt", 'a+');
    fwrite($fp, "".$ip."\n");
    fclose($fp);
        }
        socket_close($client);
    }
    socket_close($socket);
    Code (markup):

     
    thesurface, May 17, 2015 IP
  2. PoPSiCLe

    PoPSiCLe Illustrious Member

    Messages:
    4,623
    Likes Received:
    725
    Best Answers:
    152
    Trophy Points:
    470
    #2
    The log-bit works just fine (although you should change the \n to \r\n to cater for different OSes.
    I'm guessing the problem is in other parts of the code - when trying to run it on a local server, I get repeated errors that the socket_create_listen() returns an error - maybe the same thing happens to you?
     
    PoPSiCLe, May 17, 2015 IP
  3. Anveto

    Anveto Well-Known Member

    Messages:
    697
    Likes Received:
    40
    Best Answers:
    19
    Trophy Points:
    195
    #3
    Make sure you don't have the port blocked in firewall or something like that.
     
    Anveto, May 17, 2015 IP