seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^

Você não está conectado. Conecte-se ou registre-se

 » Programação Web » PHP » [dica] pegando ip através de imagens

[dica] pegando ip através de imagens

Ir em baixo  Mensagem [Página 1 de 1]

1 [dica] pegando ip através de imagens em Sab Jan 19, 2013 1:19 pm

coban

avatar
novato
novato
[Você precisa estar registrado e conectado para ver esta imagem.]

Há varios jeitos de se pegar um ip, sites fazem isso para ter controle e segurança para seus usuarios.

Hoje vou mostar como pegar IP’s através de imagens com o php, para isso carregaremos uma imagem qualquer e ao mesmo tempo executaremos os comandos para gravar o ip em um txt.
Vamos lá:
Utilizando a função imagecreatefrompng carregaremos a imagem:

Código:
<?php
function LoadPNG($imgname)
{
    /* Attempt to open */
    $im = @imagecreatefrompng($imgname);
    /* See if it failed */
    if(!$im)
    {
        /* Create a blank image */
        $im  = imagecreatetruecolor(150, 30);
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
        /* Output an error message */
        imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
    }
    return $im;
}
header('Content-Type: image/png');
$img = LoadPNG('<span style="text-decoration: underline;">samukt.png</span>');
imagepng($img);
imagedestroy($img);
?>

Samukt.png é o nome da imagem que irá carregar, é aquela imagem lá em cima do post.
Após isso utilizaremos o cod para gerar o bloco1.txt que irá gravar os ips

Código:
<?php
$fp = fopen("bloco1.txt", "a");
$data=date('l dS \of F Y h:i:s A');
$ip= $_SERVER['REMOTE_ADDR'];
$escreve = fwrite($fp,"-". $data. $ip ."-");
?>

Código final:

Código:
<?php
function LoadPNG($imgname)
{
    /* Attempt to open */
    $im = @imagecreatefrompng($imgname);
 
    /* See if it failed */
    if(!$im)
    {
        /* Create a blank image */
        $im  = imagecreatetruecolor(150, 30);
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
 
        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
 
        /* Output an error message */
        imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
    }
 
    return $im;
}
 
header('Content-Type: image/png');
 
$img = LoadPNG('samukt.png');
 
imagepng($img);
imagedestroy($img);
 
$fp = fopen("bloco1.txt", "a");
 
$data=date('l dS \of F Y h:i:s A');
// Escreve "exemplo de escrita" no bloco1.txt
$ip= $_SERVER['REMOTE_ADDR'];
$escreve = fwrite($fp,"-". $data. $ip ."-");
 
// Fecha o arquivo
?>

Ok agora você ja pode testar, só não teste em localhost que o ip vai aparecer ::1

créditos : Samukt

http://endoffile.umforum.net

Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum