M A N U A L   D E   U T I L I Z A Ç Ã O
S E C Ç Ã O   5






[ Manual ]

[ 0 - Questões Técnicas ]
[ 1 - Informações Básicas ]
[ 2 - Informações Avançadas ]
[ 3 - Painel de Controlo via-Web ]
[ 4 - CGI's - Informações ]
[ 5 - CGI's - Scripts Instalados ]
[ 6 - Informações Extra ]


Página 5 - CGI's - Scripts Instalados

Formmail
CgiEmail
Envio de Formulários com Servidor Seguro
Livro de Visitas
Free-for-All Links
Random Text Generator
WWWBoard
Motor de Pesquisa
Shopping Cart
Contadores




Formmail

Formmail é um formulário para enviar email através de www, enviado a informação introduzida nos campos para o cliente final. Este script contem inúmeras facilidades e opções de configuração o que lhe permite personalizar o formulário de acordo com as suas necessidades. Nota: se pretende utilizar o Formmail em modo seguro leia as instruções detalhadas para esse efeito. Só existe um campo que é obrigatório para que o formmail funcione e esse campo é “recipient”, ou seja, o email que irá receber o formulário. Outros campos podem ser configurados para personalizar o script e esses têm o nome de “hidden fields”.
O modo de funcionamento deste script é efectuar uma acção para o “formmail.cgi” e o método terá que ser POST em letras grandes. Damos de seguida um exemplo:

<FORM METHOD=POST ACTION="http://seudominio.com/cgi-bin/formmail.cgi">
<input type=hidden name="recipient" value="seudominio@seudominio.com ">
<input type=hidden name="subject" value="Resultado do Formulário">
<input type=hidden name="redirect" value="http://seudominio.com/confirma.html">
</FORM>

Este exemplo é a configuração mínima que pode utilizar no formmail. De seguida vamos explicar o porquê dos campos escondidos que pode utilizar.

- Recipient

Neste campo deverá colocar o email para o qual o formulário será enviado.
Sintaxe :
<input type=hidden name="recipient" value="seudominio@seudominio.com ">

- Subject

Neste campo deverá colocar o Assunto do formulário. Como opção pode criar um campo onde o Cliente possa colocar o assunto que o leva a enviar o formulário.

Definir o assunto
Sintaxe : <input type=hidden name="subject" value="Resultado do Formulário"> Permitir que o Cliente coloque o assunto
Sintaxe : <input type=text name="subject">

- Email

Só este campo é interpretado pelo script como o email de retorno que será colocado no campo “From”. Caso utilize outro nome que não este, o campo “From” ficará em branco.
Sintaxe : <input type=text name="email"> 

- Realname

Este é o campo utilizado internamente pelo script que identifica o nome da pessoa que está a enviar o email. Caso coloque outro que não este, o formulário será enviado sem o nome no cabeçalho do email.
Sintaxe : <input type=text name="realname"> 

- Redirect

Este campo permite-lhe configurar a opção de enviar o cliente para um página onde lhe pode dizer que o email foi enviado ou para outra que entender. Como opção pode deixar o Cliente escolher a página de destino.
Configuração por defeito

Sintaxe : <input type=hidden name="redirect" value=”http://seudominio.com/confirmar.html”>
Opção do Cliente

Sintaxe : <input type=text name="redirect">
- Campos Obrigatórios

Pode configurar campos obrigatórios no seu formulário garantindo assim que pelo menos esse são preenchidos.
Caso o cliente tente submeter o formulário com um desses campos em branco, será redireccionado para uma página que lhe indicará quais os campos que estão incorrectos.
Para utilizar uma página personalizada de erros veja a opção 'missing_fields_redirect' Se pretende que os campos do nome, email e descrição sejam obrigatórios deverá utilizar o seguinte sintaxe:
Sintaxe : <input type=hidden name="required" value="realname,email,descricao ">

- Environment Variables

Se pretender configurar algumas variáveis tais como o Host, IP ou Browser do Cliente, pode utilizar esta opção para que o formmail as envie. Algumas das variáveis que pode utilizar :

REMOTE_HOST – envia o hostname do utilizador que preencheu o formulário
REMOTE_ADDR – envia o IP do utilizador que preencheu o formulário
HTTP_USER_AGENT – indica qual o Browser que esse utilizador

Nota : em alguns casos o REMOTE_HOST e o REMOTE_ADDR podem ser os mesmos, isto porque é prática habitual configurar os servidores a não efectuar o DNS inverso pois esta opção sacrifica o servidor e torna-o lento.
Sintaxe : <input type=hidden name="env_report" value="REMOTE_HOST,REMOTE_ADDR,HTTP_USER_AGENT">
- Campos Ordenados

Este campo permite-lhe ordenar os campos que serão recebidos no seu email. Pode optar pela ordem alfabética ou então especificar a ordem que pretende utilizar quando recebe o email gerado pelo formmail.
Se não utilizar este campo, o formulário será enviado exactamente como os campos estão distribuídos, ou seja, pela ordem em que eles estão na página do formulário. Caso opte por ordenar os campos à sua maneira, terá que incluir no início do campo “value” a palavra “order:” seguida dos campos a ordenar.

Ordem Alfabética
Sintaxe : <input type=hidden name="sort" value="alphabetic">
Definir a Ordem
Sintaxe : <input type=hidden name="sort" value="order:realname,email,etc..."> 

- Print_config

Esta opção permite-lhe indicar quais os campos que são colocados no corpo do seu email, visto que alguns deles como o email, realname e subject são colocados no cabeçalho do email.
Se pretender colocar no corpo do email os campos realname e email deverá proceder da seguinte forma:
Sintaxe : <input type=hidden name="print_config" value="realname,email"> 

- Print_blank_fields

Esta opção permite configurar o formmail para que envie todos os campos do formulários mesmo que estejam em branco. Por defeito, o formmail não envia os campos que não estão preenchidos.
Sintaxe : <input type=hidden name="print_blank_fields" value="1">

- Titulo

Este campo permite configurar o titulo da página para onde o Cliente será enviado após o preenchimento do formulário caso não se opte pelo campo de Redirect.
Sintaxe : <input type=hidden name="title" value="Resultados do Formulário"> 

- Return_link

Este campo pode ser configurado para introduzir na página que o Cliente recebe após o envio do formulário um link para uma página qualquer; Ex : a sua home page.
Caso tenha optado por definir uma página no campo redirect, esta opção não irá ter efeito.
Sintaxe : <input type=hidden name="return_link_url"value="http://seudominio.com/index.html">

- Return_link_title

Pode configurar também o nome da página para onde esse link levará o utilizador.
Sintaxe : <input type=hidden name="return_link_title" value="Página Inicial">

CgiEmail

CgiEmail é outro programa para efectuar o processamento de um formulário através de email completamente diferente do Formmail.
É um programa escrito em Linguagem C que pega nos inputs colocados num formulário e envia-os por email.
Adicionalmente à página em html, é necessário especificar um ficheiro de texto com o conteúdo a ser enviado. O CgiEmail está na directoria cgi-bin e por defeito colocamos em todos os clientes uma página com o nome “order.htm” que contém o formulário que pode ser utilizado.
O exemplo tem este aspecto:
<FORM METHOD=POST ACTION=http://seudominio.com/cgi-bin/cgiemail/email.txt>
Vamos agora fazer um breve descrição de como configurar o CgiEmail: - order.htm
Na directoria www encontra uma página com o nome de order.htm. Este é um exemplo de como utilizar o CgiEmail que colocamos em todos os Clientes.
Utilize este exemplar para configurar o aspecto geral da página de acordo com o look do seu site.
O formulário recebe o input através dos campos que são preenchidos pelos clientes e envia-os para o servidor como um simples key-value.
Cada “input” é um campo e cada key-value é composta pelo nome é pelo valor.
Cada campo, ou “input”, tem um atributo que diz ao browser qual o tipo de informação submetida.
A explicação é sempre mais difícil do que a prática, por isso não se assuste com os termos utilizados pois, regra geral, todos os formulários utilizam este tipo de informações.
Existem, além dos inputs, itens escondidos ( hidden items ) que são usados para transmitir informação necessária para o envio do formulário através do CgiEmail. Esses itens são normalmente o destinatário do email, o assunto e a página final de confirmação.
- order.txt
Pode utilizar como exemplo o ficheiro que se encontra na sua directoria e que contém os campos necessários para o envio do formulário. De salientar que as primeiras linhas desse ficheiro são o cabeçalho do email que será enviado.
Basicamente o que o CgiEmail faz é substituir os campos definidos como Keys.
Ao fazer o upload do ficheiro não se esqueça de enviar em formato ASCII, caso contrário dará um erro cada vez que tente utilizar o CgiEmail.
O erro que irá ver será : "Server Error: The server encountered an internal error or misconfiguration and was unable to complete your request."


voltar ao topo da página

Envio de Formulários através do Servidor Seguro (só determinadas contas)

Normalmente, a informação que circula entre o browser e o servidor é texto.
Por esse facto se o que pretende enviar através de um formulário seja informação confidencial como, número do cartão de crédito ou passwords sigilosas, essa informação pode ser interceptada por um hacker e o seu conteúdo desvendado.
O SSL, permite que esse tipo de transacção seja efectuada de modo seguro através da encriptação da informação antes de ser enviada para o servidor. Desta forma é praticamente impossível descodificar a informação enviada para o servidor.
Para que possa fazer esse tipo de transacção utilize o Servidor Seguro mas só quando necessário, pois o processamento é mais lento do que o modo normal.
Caso pretenda uma conta com servidor seguro, por favor contacte-nos em suporte@dynart.com.
Para utilizar o Servidor Seguro coloque a página num local qualquer e introduza o seguinte URL :

https://servidor.safe-order.net/username/seguro.html

Nunca se esqueça de colocar “https://” em vez de “http://”.
Nota : deverá substituir o nome servidor pelo nome da servidor onde o seu domínio está alojado e o username pelo seu username real. Para chamar um script que se encontra na sua directoria cgi-bin deverá utilizar o seguinte URL :

https://servidor.safe-order.net/cgi-username/script.cgi

Instruções Especiais para a Utilização do Formmail através do Servidor Seguro

Se quiser utilizar o formmail através do servidor seguro pode colocar a sua ordem num local qualquer, mas quando chamar o formmail.cgi deverá utilizar o seguinte endereço :

https://servidor.safe-order.net/cgi-bin/formmail.cgi

Nota: é importantíssimo que utilize o modo seguro entes de chamar o formmail.cgi de outra forma poderá aparecer um erro do tipo “bad reference”.

voltar ao topo da página

Livro de Visitas

O Livro de Visitas, normalmente designado por Guestbook, pode ser utilizado como uma página de comentários, onde os seus visitantes podem adicionar entradas que será mostradas numa página em html. Pode encontrar o seu em

http://www.seudominio.com/Guestbook/guestbook.html

O guestbook já está configurado e pronto a ser utilizado no seu domínio, no entanto poderá personaliza-lo a seu gosto. Caso o pretenda fazer, faça uma copia de segurança antes de proceder a tais alterações.
Os campos a configurar são os seguintes :
- Opção 1 : $email
Esta opção permite enviar um email sempre que alguém subscreva o seu guestbook. Se pretender utilizar esta opção terá que configurar outras duas de forma a que o envio possa ser efectuado.
Essas duas opções são :
$recipient – o email para o qual será enviada a notificação
$mailprog – a localização do programa de email ( /usr/sbin/sendmail )
- Opção 2 : $uselog
Esta opção permite que as entradas que são efectuadas no seu guestbook sejam também gravadas num ficheiro log.
Por defeito esta opção está activada e se quiser descativa-la deverá configurar a variável para #147;0”.
Esta opção pode não ter muito interesse visto que todas as entradas são incluídas na página do seu guestbook, no entanto os erros serão aqui incluídos e essa poderá ser uma mais valia.
- Opção 3 : $linkmail
Activando esta opção, será incluído no seu guestbook um link para o seu email.
- Opção 4 : $separator
Esta opção permite configurar o separador a utilizar na página do seu guestbook. Se a opção for “0” o script irá introduzir um parágrafo “<p>” entre cada entrada. Se a opção for “1” será introduzido uma Linha Horizontal – “<hr>”.
- Opção 5 : $redirect
Se optar por configurar este campo com o valor “0”, o utilizador será enviado para uma página que lhe dirá que a sua entrada foi efectuada com sucesso.
Caso opte por configurar este campo com o valor “1”, o utilizador será redireccionado automaticamente para a página do guestbook.
- Opção 6 : $entry_order
Este campo permite configurar a ordem pela qual serão mostradas as entradas do seu guestbook.
Se configurar este campo com o valor “1” as entradas mais recentes serão colocadas no topo da página.
Se optar pelo valor “0” as entradas mais antigas serão colocadas no topo.
- Opção 7 : $remote_mail
Através desta opção pode configurar o script para que envie uma email de agradecimento quando alguém submete uma entrada no seu guestbook. Pode configurar também o conteúdo da mensagem de email a ser enviada e para isso basta editar o script e modificar a secção onde se encontra a mensagem. Por defeito será enviada uma mensagem de agradecimento.
Este campo necessita de duas variáveis tal como o campo $email :
$recipient – o email para o qual será enviada a mensagem
$mailprog – a localização do programa de email ( /usr/sbin/sendmail )
- Opção 8 : $allow_html
Esta opção permite configurar se os utilizadores podem ou não efectuar entradas que contenham campos em html. Se pretende facilitar essa opção deverá colocar o valor a “1”, caso contrário coloque o valor a “0”.
Existe também a opção de permitir que os utilizadores incluam o URL da sua página através de um link com o seu nome. Essa opção pode ser incluída se colocar um campo no formulário com os seguintes valores : <input type=text name=url size=40>
- Guestbook.html
Esta é a página que contem as entradas no seu guestbook. Se pretende altera-la não se esqueça de colocar no local onde deverão ser colocadas as entradas a variável <!—begin-->. Só desta forma o script saberá onde coloca o conteúdo do seu guestbook.

voltar ao topo da página

Free-for-All Links

Este script permite que os seus visitantes do seu site incluam links na sua página em categorias específicas. Os links mais recentes serão colocados no topo de cada categoria e a data bem como o número de links serão também incluídos no topo da página de cada categoria.
A sua página de Free-for-All Links já se encontra configurada no seu domínio e pode ser encontrada em http://seudominio.com/links/links.htm.
Caso pretenda efectuar alterações nas categorias que estão definidas, deverá editar a página links.htm bem como o script “links.pl” que se encontra na sua directoria cgi-bin.


voltar ao topo da página

Random Text Generator

Este script já se encontra configurado para o seu domínio e pode ser encontrado na directoria “random”. Dentro desta directoria encontra-se um ficheiro com o nome random.txt. Faça o download deste ficheiro e edite-o para efectuar as modificações que necessitar. O Random Text pode conter tag’s como por exemplo, href, p, color, etc ...
Depois de efectuar as alterações faça o upload do ficheiro em formato ascii e coloque-o no mesmo local.
Este script funciona através de SSI ( Server Side Includes ) e para o nome da página terá que ter a extensão shtml. O código a introduzir na página será :
<!-- #exec cgi=”cgi-bin/randomtext.cgi”-->

voltar ao topo da página

WWWBoard

Este script é um forum de discussões que permite submeter novos post’s, fazer folowup’s e muito mais. O www Board já se encontra configurado no seu domínio e para aceder ao forum basta introduzir o seguinte URL:

http://seudominio.com/bbs

Existe determinadas alterações que pode efectuar para personalizar o seu forum, no entanto não deve alterar o metodo nem os inputs que se encontram na página index.sht.
Adicionalmete pode efectuar algumas alterações no ficheiro wwwboard.cgi que se encontra na directoria cgi-bin por forma a satisfazer as suas necessidades, tais como :
- $show_faq = 1;
Esta opção permite que seja incluido em todos as mensagens um link para uma Faq. Esta faq terá que ser colocada na directoria /bbs e o seu nome deve ser faq.html. Se colocar o valor a “0” esse link não será colocado nas mensagens. - $allow_html = 1;
Esta opção permite que os utilizadores incluam nas suas mensagens referências em html. Caso não queira que isso aconteça deverá alterar o valor para “0”.
- $quote_text = 1;
Esta opção permite que as mensagens de folowup sejam marcadas com um ponto “.” Em cada linha por forma a indentificar a mensagem nova do folowup. Caso não queira que isso aconteça, basta colocar o valor a “0”.
- $subject_line = 0;
Existem três opções para o titulo das mensagens que são colocadas como fiolowup. Por defeito a script está configurado com o valor “0” e esta opção incluirá o titulo da mensagem anterior na mensagem de folowup, permitindo ao utilizador editar esse titulo da mesma.
Se optar pelo valor “1”, quando um utilizador fizer um folowup, o titulo da mensagem será igual ao da mensagem inicial. Por fim, na opção “2” o utilizador irá encontrar o campo do titulo em branco, permitindo desta forma a escolha do mesmo.
- $user_time = 1;
Esta opção permite que seja incluido nos post’s a data em que o mesmo foi efectuado. Por defeito a hora/min/seg serão sempre incluidos, no entanto se colocar o valor da variável a “0” a data não será incluida.

voltar ao topo da página

Motor de Pesquisa

Este motor efectua uma pesquisa nas suas páginas consoante o input do utilizador e cria uma página em html com os resultados da mesma. O programa já se encontra configurado no seu domínio e para activa-lo terá que se ligar por telnet ao servidor e executar o seguinte comando:

chmod +r /www/seudominio

Para aceder ao motor de pesquisa basta introduzir no seu browser o seguinte URL :

http://www.seudominio.com/cgi-bin/search.cgi

Existe também um ficheiro de configuração do script com o nome de search_define.pl onde pode personalizar os resultados bem como as directorias a pesquisar.

voltar ao topo da página

Shopping Cart

Este script pemite criar um Centro de Compras online com 25 items.
Poderá encontrar uma página pré-configurada em http://www.seudominio.com/order.htm

voltar ao topo da página

Contadores

Existem três tipos de contadores diferentes configurados para o seu domínio. O primeiro é um contador gráfico e para o pôr a trabalhar basta incluir a seguinte referência na página que quiser :

<IMG SRC="/cgi-bin/nph-count?width=5&link=http://seudominio/pagina.html">

O parametro “width” configura o número de dígitos a serem incluidos no contador e a “pagina.html” deverá ser o nome da página onde o contador está inserido.
- Virtual Publish Counter
Este contador gráfico para além de efectuar a contagem das visitas numa determinada página, oferece também um sistema de estatísticas com as datas das visitas, e os domínios dos visitantes.
Para incluir este contador numa página basta inseriri a seguinte referência :

<img src="http://seudominio.com/cgi-bin/counter/counter.cgi?fnam=xpto&viz=yes&
isinv=yes&setup=/home/www/seudominio/cgi-bin/counter/setup.txt">
A configuração deste contador é bastante simple. A variável “fnam=xpto” deverá ser substituida pelo nome da página onde o contador vai ser colocado. A variável “viz=yes” indica se o contador é visível ou não e a variável “isinv=yes” permite inverter o formato do contador, ou seja, se a opção for “yes” o fundo do contador é preto e os números são brancos, caso queira o inverso deverá colocar a variável a “no”.
Outra vantagem deste contador é a possíbilidade de aceder ao ficheiros de log de cada página onde o mesmo estiver incluido e efectuar um reset ao contador. Para mais instrução visite o seguinte URL :

http://seudominio.com/counter

Nota : a primeira página do contador só será criada após a primeira visita.
- Contador de Texto
Finalmente, o contador mais simple que insere o número de visitas em formato de texto. Para colocar o contador numa página basta inserir a seguinte referência :

<!--#exec cgi="/cgi-bin/counters/counter.cgi"--> 

Para visualizar o contador faça reload até aparecer o número 1.

voltar ao topo da página