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

Participe do fórum, é rápido e fácil

seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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

[dica] pegando ip através de imagens

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

1[dica] pegando ip através de imagens Empty [dica] pegando ip através de imagens Sáb Jan 19, 2013 1:19 pm

coban

coban
novato
novato

[Tens de ter uma conta e sessão iniciada para poderes visualizar 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

https://endoffile.umforum.net

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos