Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Proteger documentos (https://www.clubdelphi.com/foros/showthread.php?t=30249)

Nathan 01-04-2006 08:26:23

Proteger documentos
 
Hola a todos
alguien me puede decir como puedo proteger archivos ya sea .doc, .txt mediante codigo osea que el usuario no lo pueda eliminar.



Gracias.

ndec 01-04-2006 14:00:11

Hola,

Sobre cómo pueda impedirse borrar un archivo... no veo cómo, ahora, tal vez una posible solución estuviera en que cifrases los archivos que fueran menester, es decir, que aunque pudieran leerse no pudieran entenderse. No sé yo si esto te sería bastante o qué.

Si te decides prueba a buscar en los Foros sobre "cifrar archivos", "encriptar archivos", etc., porque, de seguro encontrarás información de utilidad. Unos componentes que he utilizado y que me han parecido muy bien son los: Delphi Cryptography Package. Son de código abierto, por cierto.

Nathan 02-04-2006 01:31:01

Gracias ndec,
por el tip voy a probar el componente aunque esto me encriptaria el archivo en si y lo que deseo es que solo el archivo no se pueda eliminar por el usuario o ajenos, lo unico q se me ocurre es darle el atributo de solo lectura pero aun no se si esto funcionaria :confused:.


Saludos.

cesarjbf 02-04-2006 08:40:15

yo tambien tengo esa necesidad, tengo consolas distribuidas por la ciudad, con mis aplicaciones, me ha pasado que los vandalos me abren las consolas y me roban la informacion, mp3 exe y demas, como podria solucionar esto, alguien me dijo que con el ALADDIN..........Gracias

acertij022 05-04-2006 21:38:00

Otra posibilidad es renombrando el archivo y cambiando el atributo del archivo a oculto y de sistema con lo cual si haces un DIR no se ve y por Windows aunque pongas ver archivos ocultos tampoco lo ves (la proteccion esta en que no podes verlo con lo cual no podes borrarlo aunque supiera como se llame el archivo tendrias que sacarle el atributo de sistema).:D

seoane 05-04-2006 22:33:18

Si te llega con impedir que lo borren mientras tu programa se esta ejecutando puedes usar algo como esto:

Código Delphi [-]
var
  hFile: THandle = INVALID_HANDLE_VALUE; // Variable global


// Para bloquearlo
 hFile:= CreateFile(PChar('Archivo.doc'),GENERIC_READ,FILE_SHARE_READ,nil,OPEN_EXISTING,0,0);


// Para desbloquearlo
if hFile<>INVALID_HANDLE_VALUE then
    CloseHandle(hFile);

Mientras este bloqueado los demas programas podran leerlo pero no podran escribir en el, ni borrarlo.

Espero que te sirva

Casimiro Notevi 06-04-2006 12:22:41

Con cualquier sistema linux/unix puedes dar permiso de sólo lectura al propietario del archivo, nadie más podrá leerlo ni borrarlo.

En windows... no se puede... aunque lo pongas de sistema, oculto y como quieras, siempre se verá y se podrá ver, borrar, leer, etc.

Aunque puede que exista alguna utilidad para conseguirlo.

seoane 06-04-2006 12:54:12

En windows tambien puedes asignarle permisos de lectura, escritura, ... etc a cada usuario sobre un archivo. Pero el gran problema es la costumbre que tiene todo el mundo de utilizar windows desde una cuenta de administrador, es muy comodo pero asi no hay seguridad que valga.

Imaginate que en linux todo el mundo iniciara sesion como "root" :D haber que seguridad habia entonces. La unica solucion que queda es que SOLO el administrador entre como administrador y el resto de usuarios con cuentas limitadas, no es muy comodo, sobre todo porque muchos programadores no tuvieron en cuenta esto a la hora de programar las aplicaciones y estas no funcionan como deberian en cuentas limitadas.

No siempre hay que echarle la culpa a windows y decir que es el demonio, tiene sus cosas buenas y malas.

Casimiro Notevi 06-04-2006 22:24:04

La diferencia es abismal.

En windows es complicado, engorroso y los resultados no se acercan en nada a la simplicidad, seguridad y funcionalidad de hacerlo en sistemas linux/unix.

En windows, ¿conoces a alguien que sea capaz de gestionar correctamente permisos a nivel de fichero, directorios, propietarios, etc...?

Y suponiendo, imaginando, que fuese igual que en linux/unix... ¡¡¡no serviría de nada!!! porque la inmensa mayoría de programas windows necesitan ejecutarse con permiso de administrador para poder instalarse y funcionar :confused:

seoane 06-04-2006 22:54:14

:D No vamos a discutir ahora que es mejor windows o linux. Pero decir que usuarios pueden modificar un fichero es tan facil como pulsar con el boton derecho sobre el, propiedades, pestaña de seguridad y decir quien lo puede leer, escribir, etc ...

Y te puedo asegurar que se muy bien los quebraderos de cabeza que dan los programas en las cuentas limitadas, pero suelen ser programas antiguos no diseñados para XP, y nadie dijo que fuera facil pero si se quiere tener algun control sobre los equipos es necesario. En cuanto a la hora de instalarlos es normal que solo el administrador pueda instalar programas para eso es administrador :D

Lo dicho, no era por crear polemica, pero la respuesta de "...esto en linux seria muy facil ..." ya me la tienen dicho muchas veces. Y yo siempre respondo lo mismo, "... pero tenemos instalado windows asi que ¿que hacemos? ..." :D

Casimiro Notevi 07-04-2006 00:25:35

Cita:

Empezado por seoane
:D No vamos a discutir ahora que es mejor windows o linux. Pero decir que usuarios pueden modificar un fichero es tan facil como pulsar con el boton derecho sobre el, propiedades, pestaña de seguridad y decir quien lo puede leer, escribir, etc ...

bueno, la diferencia es muy grande...

Cita:

Empezado por seoane
Y te puedo asegurar que se muy bien los quebraderos de cabeza que dan los programas en las cuentas limitadas, pero suelen ser programas antiguos no diseñados para XP, y nadie dijo que fuera facil pero si se quiere tener algun control sobre los equipos es necesario.

¿Antiguos?, un simple ejemplo: el Nero. No puede usarlo un usuario "normal".

Cita:

Empezado por seoane
En cuanto a la hora de instalarlos es normal que solo el administrador pueda instalar programas para eso es administrador :D

¿por qué?, en linux cualquier usuario puede instalar sus programas si no necesitan acceder a "sitios protegidos" por el root. Se instalan únicamente para ese usuario y nadie más lo ve ni le molesta ni nada de nada.

Cita:

Empezado por seoane
Lo dicho, no era por crear polemica, pero la respuesta de "...esto en linux seria muy facil ..." ya me la tienen dicho muchas veces. Y yo siempre respondo lo mismo, "... pero tenemos instalado windows asi que ¿que hacemos? ..." :D

bueno, yo no tengo windows desde hace años, aunque en el trabajo todavía lo mantengo para el mantenimiento de programas antiguos. Y como yo hay muchos.

Y, no, no vamos a crear polémica, cada uno usa lo que quiere o le dejan.


La franja horaria es GMT +2. Ahora son las 13:11:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi