Jump to content
Fivewin Brasil

COMO PROTEGER O BANCO DE DADOS


kapiaba

Recommended Posts

A melhor maneira q achei para proteger o dbf foi usar as funções ENCRYPT(CAMPO,SENHA)- para codificar e DECRYPT(CAMPO,SENHA)- para descodificar.

É possível abrir o dbf, mas, o seu conteúdo não é decifrado nem pelo papa.

Isso é bom até quando o sistema for substituído por outro sistema.

Pompeo

Guaratinguetá - SP

(12) 9777-9386

E-Mail: mkyx@ig.com.br

MSN: mkyx@ig.com.br

Skype: pardes.mky

www.adentech.com.br

www.rmahost.com

xH 0.99.50 Hb 8.02 com BCC 55

Link to comment
Share on other sites

Guest johnson

quando seu banco de dados estiver na situacao DECRYPT, o papa nao vai conseguir desifrar?

tipo ..vc abre seu sistema DECRYPT

o papa abri o dbu em um terminal, ele vai ver uq?

Link to comment
Share on other sites

Mto massa isso bastante interesante.

(Uma coisa que notei me corrija se estiver errado)

Desprotege("C:\clientes.DBF") //função que vc cria para desproteger

USE CLIENTES ALIAS SHARED...

(o index abaixo se for um arquivo de uns 15mega vai demorar uns 15 segundos para indexar se tiver mais campos a indexar

iria demorar mais, alguem poderia ir no dos e (DBU clientes)

sendo que taria desprotegido ele abriria nao e ?)

INDEX ON....

INDEX ON....

INDEX ON....

Protege("C:\clientes.DBF") //função que vc cria para

thanks

[X]Harbour 1.1.0|Fwh 8.5|Bcc55|Pelles|MySQL ^^

user.jpg

Link to comment
Share on other sites

citação:

Mto massa isso bastante interesante.

(Uma coisa que notei me corrija se estiver errado)

Desprotege("C:\clientes.DBF") //função que vc cria para desproteger

USE CLIENTES ALIAS SHARED...

(o index abaixo se for um arquivo de uns 15mega vai demorar uns 15 segundos para indexar se tiver mais campos a indexar

iria demorar mais, alguem poderia ir no dos e (DBU clientes)

sendo que taria desprotegido ele abriria nao e ?)

INDEX ON....

INDEX ON....

INDEX ON....

Protege("C:\clientes.DBF") //função que vc cria para

thanks

[X]Harbour 1.1.0|Fwh 8.5|Bcc55|Pelles|MySQL ^^

user.jpg


id=quote>id=quote>

Olá Lailton,

Desprotege("C:\clientes.DBF") //função que vc cria para desproteger

USE CLIENTES ALIAS SHARED...

Protege("C:\clientes.DBF") //função que vc cria para

INDEX ON....

INDEX ON....

INDEX ON....

É só vc inverter e colocar o protege antes dos Ãndices icon_smile_wink.gif

Vagner Wirts

VI Encontro está chegando icon_smile_big.gif, não perca icon_smile_big.gif

Link to comment
Share on other sites

Johnson.

A situação é muito simples.

Quando grava algum campo no arquivo usa-se o Encrypt, assim o que foi pro aquivo foi mascarado, e ninguem vai conseguir ler.

Quando voce ler alguma coisa do arquivo, usa-se o Decrypt, ai sim o retorno sera lido pelo seu sistema.

Ou seja, NEM O PAPA le alguma informação, que não seja pelo seu sistema.

No entanto vale a pena lembrar que o conteudo dos arquivos, são se propriedade do cliente, não podendo por nós, impormos qualquer tipo de bloqueio aos dados neles contidos.

Podemos sim, bloquear nossos sistemas, quer seja por periodo, maquinas, quantidade de usuários, filiais, etc..

MAS JAMAIS IMPOR QUALQUER RESTRIÇÃO AO BANCO DE DADOS OU AQUIVOS, pois os dados neles contidos, são de pripriedade do cliente, e nao do proprietário do sistema.

Agora vamos a algumas falhas no sistema se proteção ao banco de dados (DBF) exposto acima:

A finalidade é realmente qual ?

Impedir que alguem abra o aquivo fora o teu sistema ?

Impedir que alguem altere o conteudo do aquivo ?

Doce ilusão.

Pegue um arquivo, cryptografado, protegido e o que mais vier pela frente, e simplesmente abra com qualquer editor,

realmente nao vai ver nada, mas se o cara mudar ou não um caracter, e salvar, NINGUEM, MAS NINGUEM ABRE ESTE ARQUIVO.

Aí de a responsabilidade caiu para quem primeiro impos o bloqueio.

Oliveira, Sérgio A.

PERSONAL Comp. e Sitemas.id=green>

tt2.jpg

Editado por - personal on 26/12/2008 10:00:48

Link to comment
Share on other sites

Só um probleminha,

Usando o ENCRYPT(CAMPO,SENHA) e o DECRYPT(CAMPO,SENHA), para proteger os bancos de dados, em REDE, ficou lento, a operação do sistema, mesmo colocando uma cópia do systema em cada máquina e os dados no servidor, ou deixando uma única cópia no servidor.

Pompeo

Guaratinguetá - SP

(12) 9777-9386

E-Mail: mkyx@ig.com.br

MSN: mkyx@ig.com.br

Skype: pardes.mky

www.adentech.com.br

www.rmahost.com

xH 0.99.50 Hb 8.02 com BCC 55

Link to comment
Share on other sites

Amigos,

Nada é perfeito, somente Deus, nem Jesus agradou todo mundo.

Até MySQL, Postgree, Firebird...etc, todos tem suas falhas, claro que são em muitos apectos superiores, mas perfeitos não são não.

Tem bug pra todo que é lugar, até no windows tem !

Em se tratando de informática, muita coisa pose ser revertida.

Então...Acredito que vale a tentativa, e se alguém tiver uma melhor alternativa ou idéia sem usar SQL para quem usa DBF, que apresente, será muito bem vinda, vamos acrescentar e fazer o que se pode fazer. e vamos que vamos.

Abraços.

Hélio

xHarbour/WS/PellesC

Link to comment
Share on other sites

Poxa Lailton que legal.

Quer dizer que com MySql, nossos problemas com curiosos

acabaram-se.

Não adianta ele entrar na pasta DATA\... e apagar alguma pasta de cliente, ou somente editar algum .FRM que nao vai entender nada, mas salvar.

O Mysql vai reguperar tudo, tudinho.

Oliveira, Sérgio A.

PERSONAL Comp. e Sitemas.id=green>

tt2.jpg

Link to comment
Share on other sites

Lailton Bom dia

Acho que eu deveria criar um topico para falar sobre isto

Conexao Mysql , mais Lailton se voce tiver disposto.?

Voce poderia fazer uma exemplo simples de uma Agenda.dbf

nome c 40, Telefone c(15) , email c,50

para conexao bco de dados Mysql, como ficaria , so pra ter uma ideia

Se puder fazer tela como acessar os dados.

Pedro

alceu11@yahoo.com.br

Clipper,XHarbour, VIS.Lib

Editado por - alceu11 on 29/12/2008 10:06:38

Link to comment
Share on other sites

A grande diferença do mysql para o dbf (que são muitas) é que para o DBF a pasta precisa ser mapeada e para o mysql não(acessa pelo IP). Dessa forma voce impede os usuários de acessarem a pasta data do mysql.

Sou meio chato nesse ponto e até alguns amigos me chamam de radical. Estamos entrando em 2009 e ainda se discute aqui o DBF quando temos bancos de dados seguros e eficientes.

Por mais que o DBF seja bom, e ele é bom, mas já foi seu tempo. Numa concorrencia quando vamos citar a base de dados de nosso sistema, falar que é em DBF, e nosso concorrente citar MySql, MsSql, Oracle, Postgree, etc, é uma senhora desvantagem.

Como chato que sou nesse assunto, pessoal comecem a pensar e bem rapidamente em trocar o Dbf. Eu garanto que funciona e muito bem. Indexar, Set Filter, Set Order, Lock, Unlock, etc, quem usa o mysql já deixou isso de lado.

O primeiro sistema que converti para o mysql já está rodando a quase 3 anos. Sem indexar, faz acesso remoto entre filiais e trabalha com comandos sql. Está como diz o amigo Kapiaba, "Show de Bola".

logo.gif

Link to comment
Share on other sites

SQL é inevitável, sabemos disso.

Mas para quem "AINDA" usa DBF e por algum outro motivo qualquer(que conhecemos ou desconhecemos), não pode POR ENQUANTO, utilizar as maravilhas do SQL... então é sim bem vinda as soluções de segurança mesmo que razas para o DBF.

Tem programador que não tem tempo nem de almoçar, pelas cobranças de que lhe são impostas(e não é por causa do banco não). E o sonho de todo programador é sim deixar sua base de dados forte e robusta e acessar pela internet e tra-lálá. Mas, enquanto este pobre mortal ainda não PODE colocar o SQL, ele pode melhorar um tiquito com DBF que NÃO vai ser pra sempre é CLARO.

Então... já que o assunto de segurança do DBF já esta se desintegrando... e acredito que muitos aqui que usam DBF já estão adotando esta solução...Podemos então continuar discutindo o assunto para o SQL que é o futuro vai.

Iremos anotar e quando chegar a hora usaremos com certeza.

Grato à todos que colaborarem.

Abraços.

Hélio

xHarbour/WS/PellesC

Link to comment
Share on other sites

alceu11 e outros..

Bom como ja foi dito aqui o mysql se conecta por um IP geralmente padrao o ip da maquina

que esta instalado o mysql ou em alguns caso (meu) 127.0.0.1 (Ip my servidor local)

outra grande vantagem que algumas pessoas aqui deixaram de lado "grandes pessoas no forum"

e a permissão de acesso para esse banco de dados chamado de "privilegio"

pode se criar usuarios limitados, podendo por exemplo para

administrador (inserit'insert'/ editar'atualizado com o UPDATE'/excluir'DELETE'/pesquisar'SELECT'/ ai vai outras opcaos como drop etc..

para um usuario simples apenas permitar adicionar/alterar

nesse caso vc criaria uma tabela (users) e verificaria o acesso e veria a forma de conectar ao mysql

(usuarios que teria o privilegio alternado)

mais essa eh ora outra hora.

agora como fazer isso se tornar seguro

usando um servidor LINUX

você iria instalar um linux qualquer onde o acesso root fose somente para suporte(voce) e criaria um usuario

basico sem acesso para ta mexendo editando arquivos essas coisas mais claramente sem poder eta entrando no diretorio

do mysql.. (create group... chmod... sao coisas que iria ajudar muito)

usando o windows

voce deveria deixar uma conta como administrador e um conta como usuario limitado

deixando o limitado para uso (isso apenas no servidor) e instalaria o mysql numa pasta por exemplo

C:\Documents and Settings\(User ADM)\qualquer lugar aqui dentro

sendo assim a pessoa iria poder usar o mysql mais nao iria conseguir entrar no diretorio.

(no linux eh 100% seguro e mais rapido)

pode-se pegar um computador meia boca ai com uns 256 de memoria so o gabinete um hd ai de uns 20gb instala um linux

liga ele configura aranca o monitor teclado e tals e deixa so para armazenas os dados, custo baixo e maior seguranca ^^

bom nao falei nada sobre DBF pois esse não há segurança isso que foi postado aqui é para ivitarmos leigos de ver o dbf

se um programador quiser abrir o dbf sem duvida ira conseguir.

outras alteranativa sao, firebird (sql rdd testado e aprovado) / mssql / oracle

Bom ta ai meu ponto de vista por enquanto to com uns trampo pra entregar ate feveriro e ta corridao mais assim que

sobrar um tempo irei disponibilisar um sistema de SMS que fiz usando MYSQL o sistema funciona pra pagina web (PHP+MYSQL)

e um apricativo xharbour/fivewin/mysql tudo usando o mesmo banco onde a pessoa tem uma agenda e pode estar

logando e enviando

email e mantendo sua agenda de telefone atualizado.

abraço para todos um feliz ano novo repreto de felicidades brejas e money no bouso e que nao falte

mulher bonita nem bixo de pé (kapiaba) uhahuauhahua

flw

[X]Harbour 1.1.0|Fwh 8.5|Bcc55|Pelles|MySQL ^^

http://www.redstarsoft.net

user.jpg

Link to comment
Share on other sites

Lailton eu queria um exemplo para Windows XP usando MYSQL!!!

pois ja instalei o MYSQL, SO quero saber como vc Lailton cria o banco de Dados, e as tabelas no caso que aqui, dei um exemplo, agenda, nome,c40, telefone c15, email(50)

LAILTON se voce fizesse este exemplo simples, como criou o banco de dados, e depois chamou a tabela agenda do MYSQL,

e criou a tela, de dados, incluir alterar excluir

como FAZ PARA abriR a tabela AGENDA, deu um INSERT ´´para incluir, e que momento do UPDATE PARA SALVAR.

BOM Na minha terra seria Mata a cobra e mostrar o Pau.

Fica na sua mao mostrar a solucao.

Um exemplo pratico simples, com uma agenda.

Pedro

alceu11@yahoo.com.br

Clipper,XHarbour, VIS.Lib

Link to comment
Share on other sites

Tem certeza que quer que eu mostre o pau ? (auhahuahua)

zuera a parte vamos la

Primeiro passo, instalar o mysql.

Agora voce tem que usar uma lib para conctar ao mysql, no meu caso uso a versao demo do SQLLIB

Link da versao gratis.

http://www.sqllib.com.br/v4/index.php?module=SQLFree

Alternativa tambem eh a SQLWIN do site internacional

www.fivetechsoft.com/files/sqlwin.zip

(testei usei mais dei preferencia para o sqllib mais funciona =])

2 etapa

(retirado do site sqllib)

// Com DBF:

FUNCTION MAIN

USE PRODUTOS.DBF ALIAS PROD

SET INDEX TO CODPROD, DESCPROD

DO WHILE !EOF()

? CODIGO, DESCRICAO, VALOR

SKIP

ENDDO

CLOSE PRODUTOS

RETURN

//////////

// Com SQL LIB:

#include "sqllib.ch"

REQUEST SQLLIB

REQUEST MySQL

FUNCTION MAIN

SQL CONNECT ON "localhost"; // pode ser o ip da sua maquina ou de qualquer servidor linux web tanto faz

PORT 3306 ; // porta padrao do sql

DATABASE "teste" ; // nome do banco de dados

USER "root" ; // usuario

PASSWORD ''; // senha

LIB 'MySQL'

RDDSETDEFAULT('MySQL') // define prado mysql para chamar um dbf junto vc usariaa

// use "tal.dbf" via DBFCDX

USE PRODUTOS.DBF ALIAS PROD // nome da tabela do sql

SET INDEX TO CODPROD, DESCPROD // indexando

DO WHILE !EOF()

? CODIGO, DESCRICAO, VALOR

SKIP

ENDDO

CLOSE PRODUTOS // fecha conexao com o sql

RETURN

com a versao comercial vc so seta o sql coneect on no inicil e os comandos sao os mesmo

do dbf

append blank/ replace / delete / dbseek set filter ....

na versao demo a sitaxe é em sql entao seria assim

inserir registro

sql="insert into tabela (nome, telefone, email) values ('"+varnome+"','"+str(telefone)+"','"+email+"')"

sql execute (sql) // executa o comando do sql

para alterar

sql="UPDATE tabela SET nome = '"+novonome+"' WHERE email = '"+email que ta salvo+"'

sql execute (sql)

excluir

sql="delete from tabela where email='emaildapessoaquevaiserexcluida'"

sql execute (sql)

acho que a melhor ajuda para essa migração é baixar esssa versao demo da sql lib

e estudar o PDF que ta show.

para criar um banco de dados vc usa o comando

sql execute("CREATE DATABASE cadastro")

para criar uma tabela seria

sql execute ("CREATE TABLE agenda (`nome` VARCHAR( 255 ) NOT NULL ,`telefone` VARCHAR( 255 ) NOT NULL ,`email` VARCHAR( 255 ) NOT NULL)")

vc pode no mysql console e digitar o comando

CREATE TABLE agenda (

nome VARCHAR( 255 ) NOT NULL ,

telefone VARCHAR( 255 ) NOT NULL ,

email VARCHAR( 255 ) NOT NULL

);

novamente vo dizer

"acho que a melhor ajuda para essa migração é baixar esssa versao demo da sql lib

e estudar o PDF que ta show."

espero ter ajudado qualquer coisa so me mandar email ou pelo msn lailton@redstarsoft.net

flw

[X]Harbour 1.1.0|Fwh 8.5|Bcc55|Pelles|MySQL ^^

http://www.redstarsoft.net

user.jpg

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...