Mudanças entre as edições de "Executando Scripts CGI na hospedagem"

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa
Linha 6: Linha 6:
  
 
Para acessar o CGI, após colocá-lo em sua hospedagem e dar a devida permissão:<br />
 
Para acessar o CGI, após colocá-lo em sua hospedagem e dar a devida permissão:<br />
http://dominio.com.br/cgi-bin/hello.cgi
+
<nowiki>http://dominio.com.br/cgi-bin/hello.cgi</nowiki>
  
Onde "dominio.com.br" será seu domínio configurado no servidor.
+
Onde '''dominio.com.br''' será seu domínio configurado no servidor.
  
 
Abaixo alguns exemplos funcionais em cada linguagem citada para que possa testar, caso queira.
 
Abaixo alguns exemplos funcionais em cada linguagem citada para que possa testar, caso queira.
Linha 14: Linha 14:
 
Nome do Arquivo: '''hello.py'''<br />
 
Nome do Arquivo: '''hello.py'''<br />
 
Conteúdo:<br />
 
Conteúdo:<br />
<nowiki>#! /usr/bin/python</nowiki>
 
  
print "Content-type: text/html\n\n"<br />
+
<pre>
 +
#! /usr/bin/python
 +
 
 +
print "Content-type: text/html\n\n"
 
print "<html>Hello world!</html>"
 
print "<html>Hello world!</html>"
 
+
</pre>
  
 
Nome do Arquivo: '''hello.pl'''<br />
 
Nome do Arquivo: '''hello.pl'''<br />
 
Conteúdo:<br />
 
Conteúdo:<br />
<nowiki>#! /usr/bin/perl</nowiki>
+
 
 +
<pre>
 +
#! /usr/bin/perl
  
 
print "Content-type: text/html\n\n";<br />
 
print "Content-type: text/html\n\n";<br />
 
print "<html>Hello world!</html>";
 
print "<html>Hello world!</html>";
 
+
</pre>
  
 
Nome do Arquivo: hello.c<br />
 
Nome do Arquivo: hello.c<br />
 
Conteúdo:<br />
 
Conteúdo:<br />
<nowiki>#include <stdio.h></nowiki><br />
+
 
int main(void) {<br />
+
<pre>
printf("Content-Type: text/plain;charset=us-ascii\n\n");<br />
+
#include <stdio.h>
printf("Hello world\n\n");<br />
+
int main(void) {
return 0;<br />
+
printf("Content-Type: text/plain;charset=us-ascii\n\n");
 +
printf("Hello world\n\n");
 +
return 0;
 
}
 
}
 +
</pre>
 +
 +
Para se transformar em CGI ('''hello.cgi'''), o arquivo C precisa ser compilado, ou seja, ele só executa após ser colocado na linguagem de máquina.  A compilação deve ser realizada através do acesso [[Acesso SSH|SSH]] com o seguinte comando:<br />
  
Mudando para CGI ('''hello.cgi''') através de compilação.  A compilação deve ser realizada através do acesso [[Acesso SSH|SSH]] com o seguinte comando:<br />
+
<pre>gcc -o hello.cgi hello.c </pre>
gcc -o hello.cgi hello.c  
+
  
'''* Planos que permitem acesso SSH somente.'''
+
'''* Planos de Hospedagem que permitem acesso SSH podem realizar tal tarefa no terminal.'''
  
 
[[Categoria:TUTORIAIS]]
 
[[Categoria:TUTORIAIS]]
 
[[Categoria:SSH]]
 
[[Categoria:SSH]]

Edição das 23h34min de 30 de janeiro de 2016

Scripts CGI operam dentro do diretório cgi-bin e exigem permissão de execução - 0755. Os arquivos CGI podem ser codificados em C, Python ou Perl, as linguagens mais comuns.

Algumas dicas para quem for usar CGI:
1. Não use softwares antigos, pois há risco de falhas de segurança não resolvidas
2. Procure conhecer o software que vai executar, lendo sua documentação ou buscando o suporte de quem o desenvolveu, caso o tenha

Para acessar o CGI, após colocá-lo em sua hospedagem e dar a devida permissão:
http://dominio.com.br/cgi-bin/hello.cgi

Onde dominio.com.br será seu domínio configurado no servidor.

Abaixo alguns exemplos funcionais em cada linguagem citada para que possa testar, caso queira.

Nome do Arquivo: hello.py
Conteúdo:

#! /usr/bin/python

print "Content-type: text/html\n\n"
print "<html>Hello world!</html>"

Nome do Arquivo: hello.pl
Conteúdo:

#! /usr/bin/perl

print "Content-type: text/html\n\n";<br />
print "<html>Hello world!</html>";

Nome do Arquivo: hello.c
Conteúdo:

#include <stdio.h>
int main(void) {
printf("Content-Type: text/plain;charset=us-ascii\n\n");
printf("Hello world\n\n");
return 0;
}

Para se transformar em CGI (hello.cgi), o arquivo C precisa ser compilado, ou seja, ele só executa após ser colocado na linguagem de máquina. A compilação deve ser realizada através do acesso SSH com o seguinte comando:

gcc -o hello.cgi hello.c 

* Planos de Hospedagem que permitem acesso SSH podem realizar tal tarefa no terminal.