[Tutorial] Criando novos menus e páginas no Endian Firewall

Usar tag [Video] [Tutorial]
Avatar do usuário
marceloleaes
Administrator
Administrator
Mensagens: 1523
Registrado em: 10 Jun 2013 12:45
Localização: Novo Hamburgo
Idade: 42
Contato:
Status: Offline

[Tutorial] Criando novos menus e páginas no Endian Firewall

Mensagem por marceloleaes »

Este tutorial aborda o assunto de como criar novos menus e paginas na interface web do Endian.
Existem algumas limitações do que se pode fazer, mas com um pouco de criatividade é possivel fazer coisas bem legais.

Lembrando que não existe material "ensinando" como fazer nada. O seu aprendizado e o que vai ser possivel ser feito dependerá unicante de você e de sua vontade.

Entendo a estrutura de diretórios

Imagem

cgi-bin = Diretório que contem os arquivos com os scripts cgi ou perl que são exibidos na interface
html = Usado para diversos fins, hospeda imagems e algumas coisas mais
menus = Diretório onde se encontram os scripts responsáveis por criarem os menus na interface

Exemplo de um Menu

Existem dois tipos de menus, separados em diretórios que são: main e haslave, main são os menus laterais da interface e haslave são os menus "escravos" referenciados em um submenu, como por exemplo a aba adicional da parte de autenticação do proxy, se você observar, ela refencia um diretório e não um script cgi. São poucos slaves, mas são utilizados e podemos também personalizar ou adicionar conforme nossa vontade.

Imagem

Entendendo isto, só precisamos seguir a lógica para inserir o menu onde quisermos. A barra TOP do Endian é numerada, assim como o menu lateral. Basta contar e inserir no código o número baseado na localização.

Imagem

Para praticar, vamos criar um menu lateral na aba "Status" com o nome de "Tutorial" para isto vamos inserir em:

Menu top = 2
Menu lateral = 10

Segue código do nosso arquivo chamado menu-tutorial.pl:

Código: Selecionar todos

#!/usr/bin/perl

my $item = {
    'caption' => _('Tutorial'),
    'enabled' => 1,
    'uri' => '/cgi-bin/tutorial.cgi',
    'title' => _('Exemplo de menu Tutorial'),
};

register_menuitem('02.status', '10.tutorial', $item);

1;
Agora devemos permissionar para que o usuário httpd do Apache tenha acesso sobre o arquivo, usando chmod 775 menu-tutorial.pl

Imagem

Como próximo passo, precisamos criar o arquivo tutorial.cgi para que o menu e a página possam ser exibidas.

Exemplo de Página

Como a extensão do arquivo já sugere, vamos utilizar unicamente linguagem CGI para construir a página, botões, radio buttons e etc.
CGI é uma linguagem bem flexivel e dá para criar um pouco de tudo com ela. Aqui vai entrar o fator criatividade em ação.

Vamos criar uma página simples agora. Retorne ao diretório cgi-bin e vamos lá:

Código: Selecionar todos

#!/usr/bin/perl

require '/var/efw/header.pl';

&showhttpheaders();

&openpage(_('Tutorial'), 1, '');
&openbigbox($errormessage, $warnmessage, $notemessage);
&openbox('100%', 'left', _('Tutorial'));

printf <<END
<br /><center><b>Endian Firewall</b> - Exemplo de página usando printf do CGI</center>

END
;

&closebox();
&closebigbox();
&closepage();
Salve e permissione com chmod 775 tutorial.cgi

Comentando um pouco sobre o código

header.pl = É padrão em todas as páginas, ela que exibe o menu top, logotipo e demais conteúdo visual da interface
showhttpheaders() = É uma função padrão para mostrar a janelinha CSS padrão da interface
openpage = Dá o nome a janela, bem a cima e pode ser extenso se precisar
openbigbox = Chama as funções padrão se a pagina conter forms do tipo input ou post
openbox = Se encarrega de inserir um texto ajustado a esquerda dentro da header da janela CSS
printf <<END = Basicamente podemos utilizar qualquer elemento HTML, CSS e Javascript aqui dentro
END = Encerra o código

Na prática, o que criamos foi:

Imagem

E paramos por aqui. Se se interessou e deseja mesmo contruir algo, recomendo primeiramente muita leitura sobre todos os comandos disponiveis no CGI. Não é um bicho de sete cabeças mas exige um pouco de dedicação e algumas horas em frente ao computador. O limite será sua criatividade a partir deste ponto. Exemplos dos arquivos no anexo.

Como não existe material disponivel sobre o assunto nem um guia de por onde começar, a dica essencial é pegar os modelos já existentes no Endian. Digamos, preciso de um inputbox... pegue uma página que contenha um e analise o código, extraia o que precisa, edite e insira no seu para testar. Alguns códigos são mais complexos, pois dependem de sudo sem senha, manipulamento de arquivos e auxilio de scripts externos, mas indo devagar logo logo você pega a manha.

Resta fuçar bastante por ai e aprender..... lembrado de sempre fazer backup dos arquivos originais antes de qualquer alteração

Bom proveito  :)
Você não está autorizado a ver ou baixar esse anexo.


"Transportai um punhado de terra todos os dias e fareis uma montanha." Confúcio
Avatar do usuário
Elton
Administrator
Administrator
Mensagens: 1260
Registrado em: 10 Jun 2013 12:44
Status: Offline

Re:[Tutorial] Criando novos menus e páginas no Endian Firewall

Mensagem por Elton »

Parabens Marcelão. chegar em casa estudo isso!!!
Editado pela última vez por Elton em 23 Jul 2013 14:39, em um total de 1 vez.
"Colaborar atrai amigos, competir atrai inimigos ..."


LinkedIn: Elton Pereira Leite Gomes
matheusantos83
Newbie
Newbie
Mensagens: 14
Registrado em: 04 Set 2013 14:57
Status: Offline

Re:[Tutorial] Criando novos menus e páginas no Endian Firewall

Mensagem por matheusantos83 »

Que baita Post esse !!!!
Avatar do usuário
r0n4ld0
Administrator
Administrator
Mensagens: 107
Registrado em: 10 Jun 2013 12:29
Localização: Fortaleza
Status: Offline

Re:[Tutorial] Criando novos menus e páginas no Endian Firewall

Mensagem por r0n4ld0 »

AAAAAA Garoto erra esse que tinha te pedido show de bola!!!
________________________
Atenciosamente,
Ronaldo davi

Fortaleza CE - Brasil
Responder

Voltar para “Video Aula e Tutoriais”