Jump to content


Avatar Dinâmico


  • Faça o login para participar
6 replies to this topic

#1 Whitesnake

Whitesnake
  • Visitantes

Posted 21/05/2004, 16:52

Está vendo meu avatar? Sabe como ele pega seu IP? Sabe como ele é alterado aleatóriamente? Então...
Muitos acham que o CGI não é capaz de fazer todas as coisas que o php pode. A "moda" atual do fórum é o avatar dinâmico, aleatório..... e isso pode ser feito facilmente pelo Perl.... apenas utilizando um .htaccess na pasta do avatar.


Se seu servidor permitir rodar cgis com quaisquer extensões como gif, jpg, jpeg, png, etc.., este passo do .htaccess não será preciso tomar. Caso contrário, faça o seguinte:

.htaccess
Crie um arquivo chamado .htaccess (sem nome mesmo. apenas extensão)
Adicione os seguintes dados nele:

Options +ExecCGI
SetHandler cgi-script


Salve-o, crie uma pasta qualquer em seu site e envie o .htaccess para dentro dela.


Após enviar o .htaccess, sua pasta já será capaz de ler arquivos cgi com extensão de arquivos de imagens... agora vc poderá criar os scripts para mostrar os avatars:

Avatar dinâmico

Crie um arquivo com qualquer extensão entre gif .jpeg .jpg e .png
Este que criei possui várias características como IP, Hora, Browser:

#!/usr/bin/perl
print "Content-type:text/html\n\n";
use CGI::Carp(fatalsToBrowser);
use GD;

$nome = "SEU NOME";
#Coloque seu nome.
$offset = "-3";
#Zona offset. (Diferença de horário)
&hora;
&data;

$ip = "$ENV{'REMOTE_ADDR'}";

$browser = "$ENV{'HTTP_USER_AGENT'}";

if ($browser =~ /MSIE/){
$browser = "IExplorer";
}else{
if ($browser =~ /Netscape/){
$browser = "Netscape";
}else{$
browser = "?Netscape?"}}

sub hora{

($seg,$min,$hr,$dia,$mes,$ano) = (gmtime);
$hr = $hr-3;
$hr = $hr;
if ($hr < "10"){$hr = "0"."$hr";}if ($min < "10"){$min = "0"."$min";}if ($seg < "10"){$seg = "0"."$seg";}
$hr = $offset+$hr;
$hora = "$hr:$min:$seg";

}

sub data{
($seg,$min,$hr,$dia,$mes,$ano) = gmtime();

if ($dia < "10"){$dia = "0"."$dia";}if ($mes < "10"){$mes = "0"."$mes";}if ($ano < "10"){$ano = "0"."$ano";}
$ano = $ano+1900;
$data = "$dia"."/"."$mes"."/"."$ano";
}
############ CORES DO AVATAR DINÂMICO #############
$imagem = new GD::Image(100,100);
$cinza = $imagem->colorAllocate(100,100,100);
$cinza2 = $imagem->colorAllocate(199,199,199);
$branco= $imagem->colorAllocate(255,255,255);
##############################################

############# VISUAL DO AVATAR DINÂMICO ############
$imagem->rectangle(8,92,92,6,$branco);
$imagem->rectangle(2,97,97,3,$cinza2);
$imagem->rectangle(10,30,90,90,$cinza2);
$imagem->fill(50,40,$cinza2);
$imagem->string(gdLargeFont,10,10,"$nome",$branco);
$imagem->string(gdTinyFont,12,31,"Horas:",$cinza);
$imagem->string(gdTinyFont,15,41,"$hora",$cinza);
$imagem->string(gdTinyFont,12,51,"IP:",$cinza);
$imagem->string(gdTinyFont,15,61,"$ip",$cinza);
$imagem->string(gdTinyFont,12,71,"Browser:",$cinza);
$imagem->string(gdTinyFont,15,81,"$browser",$cinza);
##############################################

binmode STDOUT;

print $imagem -> png;


Pronto! Basta enviar o arquivo ao servidor! :)


Avatar aleatório

Crie um arquivo com qualquer extensão entre gif .jpeg .jpg e .png
Ele deve conter os seguintes dados:

#!/usr/bin/perl
print "Content-type:text/html\n\n";
use CGI::Carp(fatalsToBrowser);
use GD;

@avatars = ("avatar.gif","avatar2.gif","avatar3.gif","avatar....gif");
# Avatars, pode colocar o tanto q vc aguentar :_)

$n = int rand @avatars;

$imagem = newFromJpeg GD::Image("$avatars[$n]");


binmode STDOUT;
print $imagem -> png;


Pronto! Basta colocar o local de seus avatars no array @avatars e enviar o arquivo ao servidor! :)


Avatar dinâmico e aleatório

Crie um arquivo com qualquer extensão entre gif .jpeg .jpg e .png
Ele deve conter os seguintes dados:

#!/usr/bin/perl
print "Content-type:text/html\n\n";
use CGI::Carp(fatalsToBrowser);
use GD;

@avatars = ("info","avatar.gif");
# Lista das imagens a serem randomizadas. #info# é a imagem dinâmica,
# caso não queira exibí-la, apenas mude-a para seu avatar desejado.

$nome = "Stone Rock";
#Caso queira usar imagem dinâmica coloque o seu nome.
$offset = "-3";
#Zona offset. (Diferença de horário)
$n = int rand @avatars;

if ($n eq 0){

if ($avatars[0] eq "info"){

&data;
&hora;

$ip = "$ENV{'REMOTE_ADDR'}";

$browser = "$ENV{'HTTP_USER_AGENT'}";

if ($browser =~ /MSIE/){

$browser = "IExplorer";

}else{

if ($browser =~ /Netscape/){

$browser = "Netscape";

}else{$browser = "?Netscape?"}}

sub hora{

($seg,$min,$hr,$dia,$mes,$ano) = (gmtime);
$hr = $hr-3;
$hr = $hr;
if ($hr < "10"){$hr = "0"."$hr";}if ($min < "10"){$min = "0"."$min";}if ($seg < "10"){$seg = "0"."$seg";}
$hr = $offset+$hr;
$hora = "$hr:$min:$seg";

}

sub data{
($seg,$min,$hr,$dia,$mes,$ano) = gmtime();

if ($dia < "10"){$dia = "0"."$dia";}if ($mes < "10"){$mes = "0"."$mes";}if ($ano < "10"){$ano = "0"."$ano";}
$ano = $ano+1900;
$data = "$dia"."/"."$mes"."/"."$ano";
}

############ CORES DO AVATAR DINÂMICO #############

$imagem = new GD::Image(100,100);

$cinza = $imagem->colorAllocate(100,100,100);

$cinza2 = $imagem->colorAllocate(199,199,199);

$branco= $imagem->colorAllocate(255,255,255);

##############################################


############# VISUAL DO AVATAR DINÂMICO ############

$imagem->rectangle(8,92,92,6,$branco);

$imagem->rectangle(2,97,97,3,$cinza2);

$imagem->rectangle(10,30,90,90,$cinza2);

$imagem->fill(50,40,$cinza2);

$imagem->string(gdLargeFont,10,10,"$nome",$branco);
$imagem->string(gdTinyFont,12,31,"Horas:",$cinza);
$imagem->string(gdTinyFont,15,41,"$hora",$cinza);
$imagem->string(gdTinyFont,12,51,"IP:",$cinza);
$imagem->string(gdTinyFont,15,61,"$ip",$cinza);
$imagem->string(gdTinyFont,12,71,"Browser:",$cinza);
$imagem->string(gdTinyFont,15,81,"$browser",$cinza);

##############################################

binmode STDOUT;

print $imagem -> png;

}else {

$imagem = newFromJpeg GD::Image("$avatars[$n]");

binmode STDOUT;

print $imagem -> png;

}

}else{

$imagem = newFromJpeg GD::Image("$avatars[$n]");

binmode STDOUT;

print $imagem -> png;

}


Dica: Caso ao enviar o arquivo em formato de imagem ele não execute-a corretamente (Internal Server Error), tente enviá-la com a extensão cgi ou pl e após isso alterar sua extensão para alguma de imagem.

Não esqueça que os arquivos devem conter o mesmo tamanho, caso contrário o tamanho do primeiro arquivo será padronizado ao resto! O CHMOD deve ser efetuado normalmente - 755.

#2 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 23/05/2004, 20:31

Muito bom seu tutorial.
parabens.

print join'',(reverse  map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;


E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.

#3 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 13750 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 23/09/2017, 10:55

Original Viagra Erkennen Propecia Precio Medicina Viagra Y Cerveza online pharmacy Purchase Amoxicillin Online No Prescription Lilly Cialis Comprar Medicamento Cialis Tadalafil

#4 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 13750 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 29/09/2017, 11:07

Propecia Dosage Directions Amoxil For Cats With Upper Respitory Medications That Interact With Amoxicillin buy cialis Viagra Und Cialis Als Verzogerungsmittel

#5 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 13750 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 09/10/2017, 14:24

Buy Cheap Tamoxifen Citrate viagra online pharmacy Acquistare Gel Kamagra Grenoble Viagra Indicazioni Filitra Vardenafil Tablets
Cialis Viagra Levitra Quale Migliore cialis levitra sales viagra Acheter cialis generique 10 Acticin 30gm Website
2 Month Old Amoxicillin Dht Propecia Finasteride levitra generic Cialis Stripes Kaufen Bupropion Online Drugstore India Weight Loss Orlistat Medical Fl

#6 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 13750 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 25/10/2017, 22:07

Isotretinoin Accutane C.O.D. On Sale Acquisto Cialis Viagra generic viagra Viagra Utilizzo
Generico Levitra Online Italia Buy Doxycycline Paypal buy viagra online Other Names For Amoxicillin Order Viagra Sildalis For Sale Online Pharmacy
Buy Cialis Uk Viagra Veloce cialis Achats Kamagra

#7 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 12392 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 13/11/2017, 21:06

Viagra Confezioni Proscar Shopping cialis Liquid Cialis Does It Work
Canadian Drugstore Viagra Genericos Cialis Amoxicillin 500mg No Prescription viagra E' Sicuro Comprare Viagra On Line
Cialis Soft Pas Cher cialis Efectos Cialis 10 Mg




2 user(s) are reading this topic

0 membro(s), 2 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq