bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Segurança e produtividade com o PROTEC

Segurança e produtividade com o código PROTEC

Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 5x no Cartão de Crédito, através do Paypal. 

Veja como comprar e saiba mais sobre o material oferecido,  clicando aqui.

Open v3

 

O Access é um dos melhores softwares que há no mercado, em termos de produtividade,  para criar aplicações de Banco de Dados desktop.   O poderoso mecanismo de montagem de relatórios, o uso de tabelas vinculadas e a programação baseada em eventos (VBA), reduzem pela metade, o tempo de desenvolvimento, comparado a outros softwares.

Segurança: o calcanhar de Aquiles

Quando o assunto é segurança, principalmente da Base de Dados, o Access recebe duras críticas e com toda razão!  Isto até melhorou bastante, nas versões do Access 2007 e 2010, com o uso de senha criptografada para abertura do aplicativo.  

Porém, de que adianta fecharmos a porta da frente, se deixamos a porta dos fundos aberta?  É o que a Microsoft vem fazendo: deixa a porta dos fundos escancarada para qualquer pessoa que entenda um pouco de Access, entrar e se apoderar da senha da Base de Dados, sem cerimônias! 

Quer saber como se obtém a senha?   O processo mais utilizado de acesso à Base de Dados é através do mecanismo de vinculação das tabelas.  Ao gerarmos os vínculos, o sistema interno do Access nos faz a gentileza de armazenar a senha da Base de Dados em uma tabela do sistema, chamada de MsysObjects, permitindo o fácil acesso pelo Painel de Navegação e até por aplicativos externos.   

Veja na imagem abaixo, a tabela listada pelo Painel de Navegação:

Painel de Controle

 

Ao abrirmos a tabela, nos deparamos com a senha exposta. 

Tabela MsysObjects

 

A Microsoft, versão após versão, não muda esta situação e a gente é quem tem que se virar para resolver!

Há algum tempo que venho oferecendo aqui pelo site, o OPEN, que fecha a porta dos fundos e mete trancas nas janelas, conseguindo desta forma, afastar a maioria dos possíveis invasores.  Contudo, ainda existe uma entrada secreta que o OPEN não consegue bloquear.  Para bloquear esta entrada secreta é preciso usar o código PROTEC que apresento abaixo.

Usando tabelas não vinculadas

Muitos dos programadores têm conhecimento sobre esta falha bizarra na proteção e por isso preferem trabalhar com tabelas não vinculadas, evitando assim, que a senha da Base de Dados fique exposta.   Porém, pagam um preço alto, em termos de produtividade, pois precisam utilizar o dobro de códigos para executarem o mesmo serviço que o Access realiza automaticamente, quando as tabelas estão vinculadas. 

Outra questão importantíssima é que os relatórios foram construídos para se trabalhar com tabelas vinculadas e quando isso não acontece, a montagem destes relatórios torna-se um tormento, pois além de exigir muita programação, os resultados nem sempre são satisfatórios.   Para não se perder a qualidade e a produtividade nos relatórios, muitos programadores recorrem ao uso de vínculos, via código, conforme você pode observar abaixo:

Private Sub Report_Open(Cancel As Integer)
Me.RecordSource = "Select * From tblClientes in ''[;Database=" & CurrentProject.Path & _
"\Dados.accdb;PWD=senha]";"
End Sub

Repare que a senha precisa ser informada no código e muitos programadores não fazem idéia de que é muito fácil capturar esta senha, quando o relatório está sendo exibido, ainda que o código esteja protegido pela extensão ACCDE.

O código PROTEC

Depois de estudar a fundo a questão segurança e realizar vários testes, consegui montar o código PROTEC,  que é capaz de gerenciar a senha dos vínculos, sem que esta seja exposta na tabela MsysObjects.

Resolvi implementar esta segurança no aplicativo exemplo Maestro que ofereço aqui no site.  Baixe o aplicativo, clicando aqui.

Para entrar na estrutura do Maestro, basta manter pressionada a tecla SHIFT na inicialização.

Passo 1:  No formulário de login frmLogin foi inserida uma caixa ListBox.  Esta caixa ListBox, que fica oculta, é conectada ao recordset da tabela tblUsuários. 

Veja na imagem, a caixa ListBox no formulário frmLogin:

Código protec

 

Enquanto a conexão com a caixa ListBox estiver ativa, é possível acessar qualquer tabela vinculada, mesmo que seja indicada a senha incorreta nos vínculos.

Veja o código utilizado para conectar o recordset à caixa listBox:

Faça o login aqui para ter acesso ao código.

Passo 2:  Com a conexão ao back-end estabelecida, através do código acima, se faz necessário agora, vincular as tabelas com uma senha falsa, para que a senha verdadeira não seja exibida na tabela de sistema MsysObjects. 

Para tornar este processo automatizado, foi implementado a técnica de se gerar uma senha falsa para os vínculos, no sistema de vinculação do Maestro. 

Veja partes do código de vinculação utilizado pelo  Maestro, que se encontra no evento "No Timer" do formulário frmBarraProgresso:

Faça o login aqui para ter acesso ao código.

Observe que é necessário abrir o back-end no modo EXCLUSIVO para ser possível a troca da senha.   Isso implica que só será possível vincular as tabelas se o back-end não estiver em uso.

PRODUTIVIDADE

Usar o OPEN em conjunto com o código PROTEC é uma das melhores técnicas de defesa do mercado, porque você não terá que perder tempo em programar a parte de segurança, otimizando assim o seu tempo para o que interessa, que é o de atender as necessidades reais de seu cliente. 

Clique aqui para conhecer o OPEN.

Sucesso!


 

 


25 comentários

Álvaro Fabiano   11/11/2023 19:25:37

Boa noite Avelino, muito obrigado por todo este conhecimento que tenho adquirido.

Bom tenho uma duvida, se uso o OPEN preciso do PROTEC?

Vi que mencionou que o OPEN tem uma vulnerabilidade e precisa do PROTEC, mas no meu ver com o OPEN não tem mais como descobrir a senha do meu back-and, confere?

Obrigado!

Avelino Sampaio   27/05/2023 00:57:14

Vedu,

o formulário de login não pode ser fechado e sim oculto.

Sucesso!

Vedu   26/05/2023 15:14:34

Boa noite Avelino, no meu caso esta dando um erro que não consegui ainda resolver. Quando o meu formulário de Login se fecha (quando aceita usuário e senha), o vinculo se perde e meu bd não funciona. O que estou fazendo errado.

sushi   01/09/2022 09:46:32

muito bom gostei

Igor de Lima   12/12/2021 09:37:51

Bom dia Avelino,

Em primeiro lugar, parabéns pela técnica, muito boa mesmo. Agora me veio uma questão, no meu caso, as tbls de BE são acessadas via conexão ODBC, como posso passar os parâmetros de conexão delas na tbl tblCaminhoBe?

Atenciosamente,

JPaulo   06/12/2021 12:35:51

Excelente, parabens.
Abraço

Rafael Moreira   05/12/2021 17:21:23

Como faço para bloquear banco de dados no access 2010

joão   28/09/2021 20:26:58

Gostei muito! Esse cara e fera!

abraao Reis   05/09/2021 17:47:02

olá avelino esse modulo pode ser utilizado caso eu tenha um web Access

Avelino Sampaio   14/08/2021 17:42:04

Sebastian,

veja uma solução no link abaixo: (copie e cole o link no seu navegador)

http://support.microsoft.com/kb/2458709

Sucesso!

Sebastian   14/08/2021 16:42:55

Gostaria de saber porque a Microsoft eliminou o "MouseWheel" no Office 2007, por isso prefiro, programar no Office anterior, e pergunto se alguém sabe ou se existe algum aplicativo que volte a funcionar no Office 2007, ou se no 2010 funciona, se alguém sabe!

Avelino Sampaio   23/07/2021 07:54:01

Mauro,

o OPEN tem que estar na mesma pasta do seu aplicativo.
Se o caminho tiver espaço nos nomes, use as aspas. Exemplo:

"c:\sua pasta\seu bd.accdr" /x setup

Sucesso!

Mauro Siena   21/07/2021 19:41:53

Ola Avelino, gostaria que vc me ajudasse, pois quando tento acessar o setup do open a partir do atalho, me vem uma mensagem dizendo que nao esta encontrando o caminho. Onde estou errando? Obrigado.

Jose Carlos   04/07/2021 13:28:42

Suas informaçõe parecem muito boas. Ainda não começei a trabalhar nela. Tenho um BD que venho formando a alguns anos, mas ainda não coloque niveis de usuarios. Vou usar o seu material para aprender com programar os niveis.
Muito obrigado.

Jose Carlos Valerio   04/07/2021 13:26:01

Estou tentando colocar segurança no meu banco de dados e sua informações me parecem muito boa. com fazer para ter o material completo.?

Jose Carlos

MARCIO MELO - RJ   18/06/2021 22:04:27

Rapaz, gostei muito dessa sua idéia, é como o seu artigo de vinculo automático com mais o reforço da senha oculta/criptografada nas tabelas nem imagino o q tenha feito mais sei q faz tudo com mt capricho, como vc comentou nesse artigo sobre desempenho consegui obter bons resultados fazendo o seguinte ter 1) ter as tabelas locais de consultas e 2) abrir um form de manutenção q tem uma tabela vinculada, percebi q isso faz maior diferença e se percebe nitidamente qdo as Ribbons se carregam na primeira vez, vai rápidas e suaves e sem o form fica carregando por alguns segundos. Nesse form tem um refresh de 5 minutos e verifica a rede se o banco deve ser fechado ou atualizado.

Sou mais Brasil!

Avelino Sampaio   18/06/2021 18:23:32

Luciano,

informe as versões do Windows e do Office. Informe também se está usando versões de 32 ou 64 bits.

Entre em contato pelo email:

avelino(arroba)usandoaccess(ponto)com(ponto)br

No aguardo

Luciano Diego Serezani   18/06/2021 16:38:35

Não estou conseguindo usar o arquivo *.aux. Acredito que ele esta com problema.
Quando vou vincular ele a minha base pelo formulário que você pediu, ele fehca a base.

Glicério Júnior (Jungli)   18/06/2021 07:43:31

Mais uma vez parabéns grande mestre pela valiosa ferramenta!

Edson C Almeida   18/06/2021 06:35:12

Oi Aveino. Parabéns mais uma vez. Você sabe das necessidades do programador Access e vai de encontro a elas. Você é campeão. Nota 1000.

Avelino Sampaio   17/06/2021 11:12:16

Welson,

isso mesmo! Uma licença para cada aplicativo.

Vale lembrar que para uso em rede você compra apenas uma licença.

Grato!

Welson Zeferino de Oliveira Junior   17/06/2021 10:24:39

Para visualizar as vídeo aulas sem ter que baixar, basta acessar o link abaixo:

http://dicadecursos.com/dicas/2012/06/protec-o-mais-novo-lancamento-do-site-usando-access-em-breve/

Welson Zeferino de Oliveira Junior   17/06/2021 10:18:42

Avelino, como já de costume meus parabéns... você é fantástico. Quero comprar o Protec e a Vídeo aula Técnicas de Invasão. Favor passar os dados do banco itau.

Tenho uma dúvida, o Protec será validado por aplicações? Exemplo: se tenho dez aplicativos terei que comprar 10 chaves do Protec, uma para cada projeto?

e-mail: wzoj@dicadecuros.com

Geraldo Binhoto   22/04/2021 14:28:06

Caro Avelino.

Cada cliente tem que adquirir o Open e o Protec ou apenas o desenvolvedor, no caso eu.

Por favor me informe o valor atualizado de ambos e a forma de pagamento.

Muito grato.

gbsysti@gmail.com

Tel. 19 - 3455.3542 e Cel. 19 - 98198.1233


Bom   23/02/2021 10:22:25

Este blogue é muito bom!


Envie seu comentário: