Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Les Illégaux: une base de données securisante. Est ce possible? [ Base de données / Autre ] (new2000)

mardi 27 mai 2008 à 16:48:06 | Les Illégaux: une base de données securisante. Est ce possible?

new2000

Salut!

J'ai un problème de securité que j'arrive à resoudre. Mais pas du tout bien comme je le pense...
S'il vous plait, j'aimerai partager avec vous mes idées.
Je m'explique:
J'ai un programme déjà fait. C'est juste la facturation travaillant avec du Stock en même temps.
1) Pour une première securité, voilà ce que j'avais pensé faire dans l'évenement BeforeInsert
de mon composant AdoTable1:

If Adotable1.RecordCount > 15 then begin
ShowMessage('version demonstrative...contactez le Programmeur!');
Abort;
Exit;

Ben, ces codes serviront surement quand le programme est distribué pour une question demonstrative.

2) Et pour ma deuxième securité (c'est ici où je n'arrive pas à gerer ça):
si le programme sera installé definivement quelque part. Comment le proteger contre des copies
illégales?
Voilà ce que je tente de faire et ça ne marche pas comme il faut:
J'ai avec moi une Base de données toute simple dans mon PenDrive (elle peut être vide...peu importe).

Et alors, le programme devra demarrer normalement à condition que mon PenDrive soit connecté à un
des ports USB. Mais alors, qu'est ce qui s'passe si le dit PenDrive ne pas connecté à mon ordinateur?
au lancement de l'application, ce message apparait:

"Project Project1.exe raised exception class EOleException with message 'F:\MaBase.mdb' ce n'est pas
chemin valide..."


C'est un très bon message logiquement correcte.
Mais il est très inconfortable cette demarche, parce que l'"illegal" vera le chemin et pourra s'inspirer de créer vraisemblablement une Base de données pareillle. Et peu tenter sa chance pour le faire bien marcher.
Ma préocupation est faire de manière que ce message n'apparaisse pas comme tel. Mais qu'il y est juste un message disant par exemple: "vous n'avez pas de permission".
Au final, même si le programme se fait copier...mais il ne peut marcher!

Developper est une passion,

New2000


mardi 27 mai 2008 à 16:52:33 | Re : Les Illégaux: une base de données securisante. Est ce possible?

dominique.stock

Réponse acceptée !
Bonjour,
Tu dois utiliser
 try
/ ton code d'ouverture de la base de données/
except on e:exception do 
      showmessage('toto');
end;


Dom

mardi 27 mai 2008 à 18:20:26 | Re : Les Illégaux: une base de données securisante. Est ce possible?

cirec

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

c'est peine perdue ... toute protection est contournable
le mieux étant de faire une application de démo (avec limitation ... portion de code non implémenté donc pas de risque de le craquer) et d'en faire une pour ceux qui l'auront acheté

 
@+
Cirec


mardi 27 mai 2008 à 19:05:46 | Re : Les Illégaux: une base de données securisante. Est ce possible?

f0xi

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !

Cirec a raison

une fois le programme fini, insere des directives de compilation comme suis :

unit Unit1;

{.$DEFINE VCOMPLETE} { directive désactivée }


{$IFDEF VCOMPLETE}
  {$MESSAGE warn 'Vous compilez ce programme en version complete!'}
{$ELSE}
  {$MESSAGE warn 'Vous compilez ce programme en version Demo!'}
{$ENDIF}


interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    Fichier1: TMenuItem;
    Ouvrir1: TMenuItem;
    Fermer1: TMenuItem;
    Sauvegarder1: TMenuItem;
    SaveDialog1: TSaveDialog;
    OpenDialog1: TOpenDialog;
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure Sauvegarder1Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    {$IFNDEF VCOMPLETE} {code pour version Demo}
    procedure WarnDemo(const Msg: String);
    {$ENDIF}
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

const
  CRLF = #13#10;

procedure TForm1.FormCreate(Sender: TObject);
begin
  {$IFDEF VCOMPLETE}{ code version complete }
  caption := 'Programme v1.0';
  {$ELSE}{ code version demo }
  caption := 'Programme v1.0 (DEMO)';
  WarnDemo('Ce programme est une version Demo,'+CRLF+
           'certaines actions ne seront donc pas disponible.');
  {$ENDIF}
end;

procedure TForm1.Sauvegarder1Click(Sender: TObject);
begin
  {$IFDEF VCOMPLETE}
{ code version complete }
  if SaveDialog1.Execute then
    Memo1.Lines.SaveToFile(SaveDialog1.FileName);
  {$ELSE}
{ code version demo }
  WarnDemo('Sauvegarde indisponible en version Demo.');
  {$ENDIF}
end;

{$IFNDEF VCOMPLETE}
{ code version demo }
procedure TForm1.WarnDemo(const Msg: String);
begin
  MessageDlg(Msg, mtInformation, [mbOk], 0);
end;
{$ENDIF}

end.


Compilation en mode VCOMPLETE = version complete, le code demo est ignoré et non inclus.
Compilation sans mode VCOMPLETE = version demo, le code complete est ignoré et non inclus.

cela genere donc 2 executables different.






Cette discussion est classé dans : message, base, programme, données, securité


Répondre à ce message

Sujets en rapport avec ce message

Chargement base de données [ par orelien ] Bonjour,J'ai réalisé une application delphi, dont la base paradox est placée sur un réseau. Le temps de chargement du programme me paraît assez long Créer un exécutable avec une base de données [ par m_cyril1 ] Bonjour!! Je débute en delphi et je développe (sous delphi7 version professionnelle) un petit programme de cal Chemin base des données sur le serveur non trouvé [ par notrica ] Salut,J'ai installer mon logiciel sur le serveur win 2003, la base des données se trouve dans un repertoire different de là où se trouve le programme. Base de donnée autonome sans serveur réseau...? [ par djynn62 ] Bonjour,Je souhaite créer un programme de gestion de carnets (dont les feuillets ont chacun un numéro différend, le tout réparti sur plusieurs personn securité [ par sidalilo ] salut a tous...je developpe par delphi et j'ai une  base de données xml comment securiser cette base de données( xml).j'ai des fichiers xml dans un do application de base de données [ par ngakou ] Bonjour à tous!Je suis étudiant dans une école de formation et je voudrais réaliser une application de base de données pour la gestion des inscription base de données [ par ngakou ] Bonjour à tous,je suis entrain de vouloir créer une apllication de gestion commerciale pour le supermarché de mon oncle. l'application doit être livré Base De Données [ par MEHRI ] BonjourJ'ai besoin de savoi le chamin d'une base de données de BDE probleme avec lexecution de module base de données [ par tlemcen86 ] aprés avoir installer le delphi 5 le module base de données ne sexecute pas et je reçoi le message suivant 'impossible dinitialiser le BDE' y a -t il


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 7,410 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.