FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Seguridad en acceso a dbfs
Posts: 151
Joined: Wed Oct 12, 2005 01:03 PM
Seguridad en acceso a dbfs
Posted: Tue Nov 28, 2006 07:17 PM

Existe alguna forma de deshabilitar el
acceso a archivos dbf desde excel?

Gracias

Marco Augusto Rodriguez Manzo

FWH January 2020 Xharbour 1.2.3

MySQL 5.0.19 Fastreport



PERZO SOFT

Sistemas Personalizados
Posts: 840
Joined: Thu Oct 13, 2005 07:05 PM
Seguridad en acceso a dbfs
Posted: Tue Nov 28, 2006 09:47 PM

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.

Saludos

R.F.
Posts: 151
Joined: Wed Oct 12, 2005 01:03 PM
Seguridad en acceso a dbfs
Posted: Wed Nov 29, 2006 01:38 PM

gracias Rene

Marco Augusto Rodriguez Manzo

FWH January 2020 Xharbour 1.2.3

MySQL 5.0.19 Fastreport



PERZO SOFT

Sistemas Personalizados
Posts: 310
Joined: Sun Jan 08, 2006 10:09 PM
Seguridad en acceso a dbfs
Posted: Thu Nov 30, 2006 10:09 PM
Amiguinho

Se tu usa su aplicacion em modo solo usa mis exemplos:

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 )


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 nos campos.
Posts: 151
Joined: Wed Oct 12, 2005 01:03 PM
Seguridad en acceso a dbfs
Posted: Fri Dec 01, 2006 05:36 PM

mil gracias Amiguinho

Marco Augusto Rodriguez Manzo

FWH January 2020 Xharbour 1.2.3

MySQL 5.0.19 Fastreport



PERZO SOFT

Sistemas Personalizados

Continue the discussion