Seguridad en acceso a dbfs

Seguridad en acceso a dbfs

Postby Marco Augusto » Tue Nov 28, 2006 7: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
User avatar
Marco Augusto
 
Posts: 141
Joined: Wed Oct 12, 2005 1:03 pm
Location: Cuernacava, Morelos Mexico

Postby R.F. » Tue Nov 28, 2006 9: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.
R.F.
 
Posts: 840
Joined: Thu Oct 13, 2005 7:05 pm

Postby Marco Augusto » Wed Nov 29, 2006 1:38 pm

gracias Rene
Marco Augusto Rodriguez Manzo
FWH January 2020 Xharbour 1.2.3
MySQL 5.0.19 Fastreport

PERZO SOFT
Sistemas Personalizados
User avatar
Marco Augusto
 
Posts: 141
Joined: Wed Oct 12, 2005 1:03 pm
Location: Cuernacava, Morelos Mexico

Postby Rochinha » Thu Nov 30, 2006 10:09 pm

Amiguinho

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

Code: Select all  Expand view
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.
Rochinha
 
Posts: 309
Joined: Sun Jan 08, 2006 10:09 pm
Location: Brasil - Sao Paulo

Postby Marco Augusto » Fri Dec 01, 2006 5: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
User avatar
Marco Augusto
 
Posts: 141
Joined: Wed Oct 12, 2005 1:03 pm
Location: Cuernacava, Morelos Mexico


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 90 guests