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 You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login lo pueden encontrar.-

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

Código: text

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


y si quicieran mandarle un error 403 forbidden

Código: text

$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