Script para captura de campos de formulário com conversão URL encode.

Publicado por Carlos Affonso Henriques. 02/03/2008

[ Hits: 5.796 ]

Homepage: capitainkurn.blogspot.com.br/

Download captura_de_campos_de_formulario_html.cgi




Outro dia destes, estava escrevendo uma aplicação em shell para manipular um banco de dados MySQL e precisei de um CGI shell para converter caracteres especiais do URL Encode para ASCII.

Então recorrí ao bom e velho sed.

  



Esconder código-fonte

#!/bin/bash
echo
echo "<html> <head> <title>Gateway Autenticado</title><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head> <body bgcolor="#FFFFCC"> "
echo "<p><font face="Arial, Helvetica, sans-serif"><strong>Sistema cadastro 0.5</strong><br>"
var=$(sed -n 'p')
CAMPO=$(sed \
-e "s/%21/!/g" \
-e "s/%40/@/g" \
-e "s/%20/ /g" \
-e "s/%23/#/g" \
-e "s/%24/\$/g" \
-e "s/%25/%/g" \
-e "s/%5E/^/g" \
-e "s/%26/\&/g" \
-e "s/%2F/\//g" \
-e "s/%5C/\\\/g" \
-e "s/%7C/|/g" \
-e "s/%2B/+/g" \
-e "s/%28/(/g" \
-e "s/%29/)/g" \
-e "s/%5B/[/g" \
-e "s/%5D/]/g" \
-e "s/%29/)/g" \
-e "s/%3D/=/g" \
-e "s/%3B/;/g" \
-e "s/%09/\\t/g" \
-e "s/%0A/\\n/g" \
-e "s/%25/%/g" \
-e "s/%7B/{/g" \
-e "s/%7D/}/g" \
-e "s/%3C/</g" \
-e "s/%3E/>/g" \
-e "s/%3F/?/g" \
-e "s/%7E/~/g" \
-e "s/%60/\`/g" \
-e "s/%27/'/g" \
-e "s/%22/\"/g" \
-e "s/%3A/\:/g" \
-e "s/%3B/;/g" \
-e "s/%C2/Â/g" \
-e "s/%E2/â/g" \
-e "s/%C1/Á/g" \
-e "s/%E1/á/g" \
-e "s/%C3/Ã/g" \
-e "s/%E3/ã/g" \
-e "s/%C0/À/g" \
-e "s/%E0/à/g" \
-e "s/%C7/Ç/g" \
-e "s/%E7/ç/g" \
-e "s/%C9/É/g" \
-e "s/%E9/é/g" \
-e "s/%C8/È/g" \
-e "s/%E8/è/g" \
-e "s/%CD/Í/g" \
-e "s/%ED/í/g" \
-e "s/%D1/Ñ/g" \
-e "s/%F1/ñ/g" \
-e "s/%D4/Ô/g" \
-e "s/%F4/ô/g" \
-e "s/%D5/Õ/g" \
-e "s/%F5/õ/g" \
-e "s/%D6/Ö/g" \
-e "s/%F6/ö/g" \
-e "s/%D2/Ò/g" \
-e "s/%F2/ò/g" \
-e "s/%D3/Ó/g" \
-e "s/%F3/ó/g" \
-e "s/%DA/Ú/g" \
-e "s/%FA/ú/g" \
-e "s/%D9/Ù/g" \
-e "s/%F9/ù/g" \
-e "s/%DC/Ü/g" \
-e "s/%FC/ü/g" \
<(echo $var))
#
echo "$CAMPO<br>"

# Caso sua aplicação não necessite do sinal + esta linha
# deve ser adcionada a seqüencia para que você possa obter
# Os espaços em branco caso isso seja necessário.
# -e "s/+/ /g"

Scripts recomendados

Check bandwidth para Nagios

shieldscript - Script para defesa básica do seu GNU/Linux

Instalação do LAMP no Linux Ubuntu

Pegar MAC através do IP na rede interna

Criando contas de usuario em varios servidores ao mesmo tempo


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts