-
Notifications
You must be signed in to change notification settings - Fork 6
Segurança
Chamar o formulário via GET da url pode ser uma falha de segurança principalmente se o seu usuário precisa ser autenticado e autorizado. O formDin conta com uma proteção se setLoginFile foi informado no index e não tem uma sessão aberta, impedido o carregamento da tela. Mais informações em Autenticando o usuário > alterando o index.php
Chamar um formulário via url completa também não irá funcionar por dois motivos: 1 - Só no index tem a lista completa para carregas todos os módulos; 2 - Aplicações geradas com SysGen a primeira linha tem defined('APLICATIVO') or die()
; Exemplo de chamada diretamente
http://localhost/curso/appexemplo_v1.0/modulos/exe_campo_ajuda.php
Um possível problema é usuário não autorizados solicitar um formulário via GET.
Com diversos Perfis de acesso é preciso verificar se o usuário pode acessar o modulo. Uma sugestão é alterar todos os módulos trocando $frm->show();
pela linha abaixo
if ( Acesso::moduloAcessoPermitido($_REQUEST['modulo']) ){
$frm->show();
}
Depois novos métodos devem ser incluídos na classe de acesso
/***
* Recebe o $_REQUEST[modulo] e informa se usuario pode acessar ou não o modulo
* @param string $dsUrl
* @throws InvalidArgumentException
* @return boolean
*/
public static function moduloAcessoPermitido($dsUrl){
$permitido = false;
if(empty($dsUrl)){
throw new InvalidArgumentException('Erro: Modulo não informado');
}else{
$dadosMenu = self::getUserModuloAcesso();
$listDsUrl = ArrayHelper::getArray($dadosMenu, 'DSURL');
$permitido = in_array($dsUrl, $listDsUrl);
if( $permitido==false ){
$permitido = in_array('modulos/'.$dsUrl, $listDsUrl);
}
}
return $permitido;
}
21 - Layout e CSS
Índice completo - Aprendendo formDin em etapas
Conheça os projetos relacionados ao formDin
- FormDin Last Release - ultima versão estável
- SysGen - Gerador de código para FormDin
- formDocker - Ambiente para o FormDin em Docker
- FormDin5 - FormDin 5 sobre o Adianti FrameWork
- SysGenAd - Gerador de código para FormDin 5 usando o Adianti FrameWork
Aprendendo formDin em etapas
- Baixando o formDin
- Instalado e Configurando Ambiente de Desenvolvimento
- Usando XDebug
- Informações técnicas
- Primeira Aplicação
- Entendendo a primeira aplicação
- Criando Menu Básico
- Conectando com um Banco de Dados
- Usando DAO e VO
- Grid Básico
- Componentes Básicos
- O Formulário
- Relatórios em PDF
- Componentes Avançados
- Autenticando o usuário
- Perfis de acesso
- Grid Avançado
- Conectando com mais um Banco de Dados ao mesmo tempo
- Automatizando a criação de aplicação
- Segurança
- Layout e CSS
- API REST
- Arquitetura do FormDin
- Versões e versionamento
- Usando o Eclipse
- Usando o VS Code
- História do formDin
- Usando PHPUnit para fazer testes unitários
- Usando Composer
- Usando Docker
- Microsoft SQL Server