IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Comment protéger un fichier de type .txt ?


Sujet :

C++Builder

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut Comment protéger un fichier de type .txt ?
    Bonjour,

    je souhaiterai savoir s'il existe un moyen (une fonction) qui protégerai un fichier de type .txt de toutes modifications ?

    Quelque chose qui empêcherait la modification de l'entête par exemple !

    Est ce possible de mettre les attributs lecture seule à mon fichier de type .txt et de protéger aussi son entête?

    Merci, à bientôt !

  2. #2
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Pour proteger ton fichier txt, tu dois déjà le mettre en lecteure seule après son enregistrement. J'ai pas BCB sous la main, mais je crois que tu popurras le faire avec l'API :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        SetFileAttributesEx
    Regarde plus dans le help.

    De quelle entete tu parle ? puisque tu enregistre directement les informations dans le fichier texte en mode txt (non en binaire).

  3. #3
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Avec j'ai trouvé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
     LPTSTR FileName = "C:\\Temp\\MyDir\\SomeFile.txt";
        LPTSTR TrusteeName = "Everyone";
     
        DWORD AccessMask = GENERIC_ALL;
        DWORD InheritFlag = CONTAINER_INHERIT_ACE;
        ACCESS_MODE option = GRANT_ACCESS;
        EXPLICIT_ACCESS explicitaccess;
     
        PACL ExistingDacl;
        PACL NewAcl = NULL;
        PSECURITY_DESCRIPTOR psd = NULL;
     
        DWORD dwError;
     
        dwError = GetNamedSecurityInfo(
                            FileName,
                            SE_FILE_OBJECT,
                            DACL_SECURITY_INFORMATION,
                            NULL,
                            NULL,
                            &ExistingDacl,
                            NULL,
                            &psd
                            );
     
        BuildExplicitAccessWithName(
                &explicitaccess,
                TrusteeName,
                AccessMask,
                option,
                InheritFlag
                );
     
        //
        // add specified access to the object
        //
     
        dwError = SetEntriesInAcl(
                1,
                &explicitaccess,
                ExistingDacl,
                &NewAcl
                );
     
        //
        // apply new security to file
        //
     
        dwError = SetNamedSecurityInfo(
                        FileName,
                        SE_FILE_OBJECT, // object type
                        DACL_SECURITY_INFORMATION,
                        NULL,
                        NULL,
                        NewAcl,
                        NULL
                        );

    Tu as plus de possibilités, voir même quel utilisateur peut ouvrir ou non le fichier. Il faut être en NTFS.

Discussions similaires

  1. Comment trier des fichiers par types et par tailles?
    Par xXO--Hades--OXx dans le forum Android
    Réponses: 3
    Dernier message: 07/12/2010, 12h09
  2. Réponses: 4
    Dernier message: 05/04/2010, 10h11
  3. Importer fichier .fpi (type txt)
    Par Baelros dans le forum MATLAB
    Réponses: 5
    Dernier message: 12/03/2008, 13h44
  4. vb6: Mettre les données d'un textbox sous un fichier de type txt
    Par flav66 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 04/09/2006, 12h01
  5. Réponses: 5
    Dernier message: 24/05/2006, 22h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo