shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Res: [shell-script] executar CGI Bash em servidor apache


From: Wagner Brasileiro
Subject: Res: [shell-script] executar CGI Bash em servidor apache
Date: Fri, 2 Jul 2010 06:37:30 -0700 (PDT)

MrBits,

Me desculpe pela demora e por não ter postado o código pelo Pastebin, além de 
não conhecer e ferramenta, encarei como uma sugestão apenas e meu muito 
obrigado 
pelo seu empenho mesmo assim. Me enrolei com outras coisas aqui e por isso só 
agora estou voltando a postar sobre ele. Agora postado no Pastebin:  
http://pastebin.com/f4yci2A0 (rs...)



Voltei a verificar os logs do servidor e nada aparece, porém consegui evoluir, 
se eu chamar o script via página html diretamente assim: 
meusite/cgi-local/script.cgi ele resposde. Algumas anomalias porém eu ainda 
estou encontrando, talvez pela minha falta de experiência, são elas:

1- Se na linha "2. content-type: text/plain" eu declarar asim como plain, ele 
me 
dá um resultado bem próximo do que eu quero e do que ele tem me mostrado aqui 
quando o executo diretamente via SSH como usuário local, mas com um problema, 
ele me injeta o resultado em texto plano, como se fosse um relatório. Se eu 
mudo 
para HTML ele me come os resultados do código dentro do "for" entre as linhas 
15 
e 19 e nada em html é impresso dentro do "for". Achei que fosse aluma aspa 
aberta pois o próprio VI me mostrava dependnedo do caso que o loop estava 
aberto, mesmo qaundo ele mostra fechado nada acontece.

2- Como o cgi só roda dentro diretório CGI ele roda sempre com status local, 
diferentemente de quando o executo via SSH que o chamo de outro diretório e ele 
faz referência ao diretório de onde eu o chamei, no caso de comandos como PWD 
ele sempre estará no diretório CGI. pensei em passar algum parâmetro via POST 
ou 
GET, mas neste ponto o HTML ainda não aceita os comandos do script e não estou 
visualizando uma maneira de fazer isso dinamicamente, sem ter que enviar uma 
constante, o que me tiraria o dinamismo do script tendo que o reescrever para 
cada lugar que fosse utilizar o deixando fadado ao erro e desuso.

Mais uma vez meu muito obrigado pela atenção, mesmo na minha falha de não ter 
postado o código pelo pastebin.




________________________________
De: MrBiTs <address@hidden>
Para: address@hidden
Enviadas: Quarta-feira, 30 de Junho de 2010 11:16:10
Assunto: Re: [shell-script] executar CGI Bash em servidor apache

  
> Ele me parece funcionar perfeitamente quando o testo via SSH o chamando
> diretamente, já quando o chamo via CGI através do HTML que nada acontece, os
> logs do servidor não me mostram nada quanto a isso. Ele injeta via terminal o
> código HTML e a saída que eu desejo, minha grande dúvida é se, via CGI só
> imprimir o arquivo de saída com código HTML é o suficiente ou se existe algo a
> mais na comunicação via CGI, ou seja, para pasar dados via CGI sei que tenho 
>que
> usar o método GET ou POST e colher essas informações no script, no meu caso 
não
> troco informações ao executé-lo, ainda assim o que ele vai printar na saída é
> automático ou existe alguma forma especial de se fazer isso?
> De qualquer forma, acho melhor terminar essa postagem por aqui, antes que 
>alguém
> encare isso como off-topic, pensei muito antes de enviar esta dúvida, e ainda
> creio que seja de shell mas vou procurar fora. Obrigado a todos!

Apesar do fato de você ter ignorado totalmente a minha recomendação de
postar seu código num paste-bin da vida, para que pudessemos
auxiliá-lo no debug do seu problema, eu consegui gerar um erro aqui,
que me informou que há bad headers no seu script. Em outras palavras,
seu CGI está mal construído. Você faz:

echo "content-type: text\html\n\n"

mas o echo não sabe interpretar esse \n e, por definição, CGIs têm que
ser escritos tendo como primeira linha o tipo do conteúdo seguido de
duas linhas em branco.

Veja como ficou o meu script:

http://pastebin.com/uQrpxiux

De lambugem você ainda aprende a trabalhar com pastebin.

 


      

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]