Image Loader
Publicado por Carcarah do Sertão Agreste 07/07/2004
[ Hits: 5.474 ]
Este script permite que você mostre as figuras do seu site de forma mais segura.
Sugiro a implementação do código para que outros sites não utilizem imagens.
#!perl
# Autor: Carcarah do Sertão
#
# Email: thenazgul@terra.com.br
# Web: http://www.wanadobe.biz/~carcarah
# Por favor, NÃO REMOVAM O NOME DO AUTOR
#### COMO USAR ESTE SCRIPT ####
# Dentro do código html, insira na tag <img src="imagem.pl?img=nome_imagem">
# Requer livraria CGI
use CGI;
# Coloque aqui o diretório das imagens do servidor web. Se você não sabe qual sua pasta $HOME, sinto muito.
use constant DD => "/home/fulano/www/imagens";
# Tamanho do Buffer. Você pode aumentar esse valor. De acordo com sua largura de banda.
# Aconselho não mudar. Você pode sentar sua máquina ou tornar a conexão lenta
use constant BUF => 4_096;
# Biblioteca para função ReadParse
do "cgi-lib.pl" or die "Erro lendo cgi-lib: $!";
# Função que lê dados do form. Você pode substituir por alguma mais familiar.
&ReadParse(*dados);
# Lê campo no img no form HTML
$i = $dados{'img'};
# Inicio
&imagem($i);
exit();
# fim
# Funcao
sub imagem {
my $h = new CGI();
my $arquivo = shift;
my $aux = $arquivo;
my $buffer = 0;
my ($nome, $tipo) = split(/\.(\w+)$/,$aux);
$tipo = "jpeg" if($tipo eq "jpg");
print $h->header(-type => "image/$tipo", -expires=>"-1d");
# muda o modo de saída de dados.
binmode STDOUT;
local *IMG;
open IMG, DD."/$arquivo" or die "Erro abrindo $arquivo: $!";
# Lê e imprime o conteúdo do arquivo.
# O primeiro parâmetro da função read() é o ponteiro para o arquivo.
# O segundo parâmetro da função é a variável para armazenar os dados.
# O terceiro parâmetro é o valor em bytes que será transferido
print $buffer while( read(IMG,$buffer,BUF) );
# Fecha ponteiro.
close IMG;
# Limpa
undef $buffer;
}
htt[p]erl, simulador de web server
Algoritmo de Fatoração de Fermat (FFA) em Perl
Nenhum comentário foi encontrado.
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Podem me chamar de 1mbecil :) (9)
Monte o Google Drive como uma pasta remota no Linux (0)
Compartilhar ZEBRA ZD220 na rede (0)
diferença entre o Tor baixado pelo Gerenciador de Aplicativos e o Tor ... (8)









