Existe alguna forma de deshabilitar el
acceso a archivos dbf desde excel?
Gracias
Seguridad en acceso a dbfs
-
- Posts: 122
- Joined: Wed Oct 12, 2005 1:03 pm
- Location: Cuernacava, Morelos Mexico
Seguridad en acceso a dbfs
Marco Augusto Rodriguez Manzo
fwh 2020 Xharbour 1.2.3
MySQL 5.0.19 Fastreport
PERZO SOFT
Sistemas Personalizados
fwh 2020 Xharbour 1.2.3
MySQL 5.0.19 Fastreport
PERZO SOFT
Sistemas Personalizados
No es posible, no hay forma de manipular excel para que no lea archivos DBFs.
Lo que nosotros hicimos fue encriptarlos con ADS y se acabo el problema, Excel no reconoce el formato encriptado de Advantage.
La solucion definitiva fue cambiar los DBF por tablas ADT, y ahi si, ni excel les mete mano.
Lo que nosotros hicimos fue encriptarlos con ADS y se acabo el problema, Excel no reconoce el formato encriptado de Advantage.
La solucion definitiva fue cambiar los DBF por tablas ADT, y ahi si, ni excel les mete mano.
Saludos
R.F.
R.F.
-
- Posts: 122
- Joined: Wed Oct 12, 2005 1:03 pm
- Location: Cuernacava, Morelos Mexico
Amiguinho
Se tu usa su aplicacion em modo solo usa mis exemplos:
Exemplo:
UnProtect( "arquivo" )
USE arquivo
...
USE // or CLOSE
Protect( "arquivo" )
Mas si tus usas en rede tente la lib HBSIX.LIB con funciones de encryptacion de datos _.
Se tu usa su aplicacion em modo solo usa mis exemplos:
Code: Select all
FUNCTION UnProtec( cDbf ) ; return( DbProtec( cDbf, 1 ) )
FUNCTION Protec( cDbf ) ; return( DbProtec( cDbf, 0 ) )
FUNCTION DbProtec( cDbf, nAction )
local nHandle := 0
local cBuffer := space( 32 )
nHandle := FOpen( cDbf, FO_READWRITE + FO_SHARED )
DEFAULT nAction := 1
if nHandle != -1
if FRead( nHandle, @cBuffer, 32 ) == 32
if nAction == 0 // Proteger
if SubStr( cBuffer, 1, 1 ) <> Chr( 26 )
cBuffer := Chr( 26 ) + SubStr( cBuffer, 1, 31 )
endif
else // Desproteger
if SubStr( cBuffer, 1, 1 ) == Chr( 26 )
cBuffer := SubStr( cBuffer, 2, 31 ) + Chr( 0 )
endif
endif
FSeek( nHandle, 0 )
FWrite( nHandle, cBuffer, 32 )
endif
FClose( nHandle )
endif
return( FError() )
FUNCTION lProtec( cDbf )
local nHandle := 0
local cBuffer := space( 32 )
local lRet := .f.
if ( nHandle := FOpen( cDbf, FO_READWRITE + FO_SHARED ) ) != -1
if FRead( nHandle, @cBuffer, 32 ) == 32
lRet := if( SubStr( cBuffer, 1, 1 ) == Chr( 26 ), .t., .f. )
endif
FClose( nHandle )
else
MsgInfo( "No puedo abrir la DBF: " + cDbf )
endif
return( lRet )
UnProtect( "arquivo" )
USE arquivo
...
USE // or CLOSE
Protect( "arquivo" )
Mas si tus usas en rede tente la lib HBSIX.LIB con funciones de encryptacion de datos _.
-
- Posts: 122
- Joined: Wed Oct 12, 2005 1:03 pm
- Location: Cuernacava, Morelos Mexico