I’m trying to make a log system in PHP/Javascript

Asked

Viewed 199 times

0

I’m trying to build a log system in PHP and Javascript that captures the internal ip of the visitor’s machine, but I can’t return the value of the variable in Javascript to the variable in PHP that saves the logs. Can you help me?

<script type="text/javascript">
var RTCPeerConnection = window.webkitRTCPeerConnection || window.mozRTCPeerConnection;

if (RTCPeerConnection) (function () {
    var rtc = new RTCPeerConnection({iceServers:[]});
    if (1 || window.mozRTCPeerConnection) {
        rtc.createDataChannel('', {reliable:false});
    };

    rtc.onicecandidate = function (evt) {
        if (evt.candidate) grepSDP("a="+evt.candidate.candidate);
    };
    rtc.createOffer(function (offerDesc) {
        grepSDP(offerDesc.sdp);
        rtc.setLocalDescription(offerDesc);
    }, function (e) { console.warn("offer failed", e); });


    var addrs = Object.create(null);
    addrs["0.0.0.0"] = false;
    function updateDisplay(newAddr) {
        if (newAddr in addrs) return;
        else addrs[newAddr] = true;
        var displayAddrs = Object.keys(addrs).filter(function (k) { return addrs[k]; });
        document.getElementById('list').textContent = displayAddrs.join(" or perhaps ") || "n/a";
    }

    function grepSDP(sdp) {
        var hosts = [];
        sdp.split('\r\n').forEach(function (line) {
            if (~line.indexOf("a=candidate")) {
                var parts = line.split(' '),
                    addr = parts[4],
                    type = parts[7];
                if (type === 'host') updateDisplay(addr);
            } else if (~line.indexOf("c=")) {
                var parts = line.split(' '),
                    addr = parts[2];
                updateDisplay(addr);
            }
        });
    }
})(); else {
    document.getElementById('list').innerHTML = "<code>ifconfig | grep inet | grep -v inet6 | cut -d\" \" -f2 | tail -n1</code>";
    document.getElementById('list').nextSibling.textContent = "In Chrome and Firefox your IP should display automatically, by the power of WebRTCskull.";
}

</script>

I need the ip caught by Javascript to enter the variable $ip.

<?php 
$ip = "IP PEGO PELO JAVASCRIPT";
$data = date("d/m/Y");

if ($file = fopen("ips.txt","a+")){
        fputs($file,"Dia de entrada: ".$data." IP:".$ip. "\n");
}else {
        $file = fopen("ips.txt","a+");
}
fclose($file);
?>
  • pq friend in javascript tu n do a post in php file, and ai in php vc recovers the post to save the log

  • however I have no idea how to do it friend, I am not good in javascript :/

  • 1

    pq needs to be in javascript? I do everything in php, I’ll show you

  • this script captures the internal ip, LAN I find it hard to do this with php, I have one that captures REAL ip, however I need to register the internal ip’s.

  • I have an intranet that with this script caught the local ips tbm

  • friend if what is the purpose of this request pq if saving in the bank can be a tbm solution depending on the need type a login system vc guard ip agent time etc

  • friend if I can save these ips in a txt for me it is easy to manipulate the rest with python >.<

Show 2 more comments

1 answer

0

A solution in php

//Recupera o IP real
function getIp() {

    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];

    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }

    return $ip;
}

.

    //Cria o log se der erro na pasta der acesso chmod 777
    function logUsuario(){ 

        $data = date("d-m-Y H-i-s");
        $ip = getIp(); 
        $msg = "[".$data."]\n\nIP: " . $ip . ""; 
        $fp = fopen("/logs/IP_USUARIO_".$data.".txt",'a+'); 
        fwrite($fp,$msg); 
        fclose($fp); 
    }


    //para usar só chamar a função onde vc queira
    logUsuario();
  • friend I already have a script that does the same function but the advantage of my javascript is that I take the internal ip! this script takes only the external ip (which I don’t need) still obg!

  • this script I get internal on the intranet. If in javascript you take logically php vc would pick up but that’s okay

Browser other questions tagged

You are not signed in. Login or sign up in order to post.