Obtener ip y otras yerbas desde php

Iniciado por alexander1712, Noviembre 28, 2013, 08:20:07 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Hola, a pedido de Snifer que me preguntaba como obtener la ip de un visitante desde php, hice una pequeña clase para manipular el agent o los datos que nos envía el navegador, entre otras cosas se puede obtener el id de sessión, la ip, el sistema operativo, navegador y la dirección actual que se está queriendo cargar (o el link.), además se puede enviar una respuesta HTTP, puedes tirar unh forbidden o un 503 dependiendo si no te gusta lo que vez, esta clase no maneja ips que bienen de proxys.-

Código: php

<?php

/*
* Clase diseñada originalmente para Basec0de.org
* ----------------------------------------------
* El objetivo de esta clase es recopilar todo tipo de información sobre un agente o usuario/visitante
* de nuestro sitio web.
* @ Author: <Harkonnen>
* @ Status: Prototype
* @ Contact: <[email protected]>
* @ Last-Edit: 28/11/13
* -----------------------------------------------
* Tiene como dependencia el Trait Property
*/

interface iAgent
{
public function denegar();
public function internal_error();
}

class Agent implements iAgent
{
use Property;

private $ip = 0;
private $session_id = 0;
private $sistema = null;
private $browser = null;
private $location = null;

public function __construct()
{
$browser = get_browser(null, true);
$this->sistema = $browser['platform'];
$this->browser = $browser['browser'];
$this->session_id = isset($_SESSION) ? session_id() : null;
$this->ip = $_SERVER['REMOTE_ADDR'];
$this->location = $_SERVER['REQUEST_URI'];
}

public function denegar()
{
ob_start();
header('HTTP/1.0 403 Forbidden');
die();
}

public function internal_error()
{
ob_start();
header('HTTP/1.0 503 Service Temporarily Unavailable');
die();
}

public function set_ip($value) { ; }
public function get_ip() { return $this->ip; }

public function set_session_id($value) { ; }
public function get_session_id() { return $this->session_id; }

public function set_sistema($value) { ; }
public function get_sistema() { return $this->sistema; }

public function set_browser($value) { ; }
public function get_browser() { return $this->browser; }

public function set_location($value) { ; }
public function get_location() { return $this->location; }

}


espero que les agrade, el uso es sencillo, primero deben incluir el No tienes permitido ver los links. Registrarse o Entrar a mi cuenta lo pueden encontrar.-

Despues incluir el archivo que contenga esta clase e instanciarlo de esta forma.

Código: php

$agente = new Agent();
echo $agente->ip;
echo $agente->session_id;
echo htmlentities($agente->browser);


y si quicieran mandarle un error 403 forbidden

Código: php

$agente = new Agent();
$agente->denegar();


es algo muy simple pero útil, y lo necesitaba hacer asique lo postee ya que estaba.

Saludos! espero que les agrade.-

Grande Alex!! buenisimo!
Muchisimas gracias por el codigo, estoy seguro que a mas de uno le va a venir de primera