Protection de pages Web PHP

Transcription

Protection de pages Web PHP
Guide d’intégration
Protection de pages Web
en PHP avec DinkeyWeb
Contact commercial :
Tél. : 02 47 35 70 35
Email : [email protected]
Contact Technique :
Tél. : 02 47 35 53 36
Email : [email protected]
Version 3.01 du 10/07/2008
La Foltière - 37270 AZAY SUR CHER
Tél. 33(0)2 47 35 70 35 - Fax 33(0)2 47 35 70 25 - e-mail : [email protected]
Guide d’intégration DinkeyWeb PHP
1. Intoduction ................................................................................................................................................. 3
2. Descriptif .................................................................................................................................................... 3
2.1.
Les modules DDInet :....................................................................................................................... 3
3. Installation du module DDINET sur la machine locale .............................................................................. 3
3.1.
Pour Windows : ................................................................................................................................ 3
3.2.
Pour MACOSX : ............................................................................................................................... 4
3.3.
Pour LINUX : .................................................................................................................................... 4
4. Protégez vos pages Internet avec DinkeyWeb......................................................................................... 5
5. Paramètres de DDProtCheck .................................................................................................................... 6
6. Variables .................................................................................................................................................... 6
7. Précisions .................................................................................................................................................. 7
zz
2
Guide d’intégration DinkeyWeb PHP
1. Intoduction
Afin de vous aider dans les premiers pas de la pose de protection sur vos pages Internet, vous trouverez dans
ce guide de prise en main rapide l’essentiel des commandes et fonctionnalités pour la bonne utilisation de
DinkeyWeb.
2. Descriptif
2.1. Les modules DDInet :
DDInet.dll permet le test d’un dongle à partir d’une page web en utilisant du code PHP, une applet java et un
module de type DLL que nous fournissons.
Ce module peut varier en fonction des OS des postes clients.
_ Pour Windows -> DDinet.dll
_ Pour Mac OSx -> libDDInet.jnilib
_ Pour Linux -> libDDInet.so
3. Installation du module DDINET sur la machine locale
3.1. Pour Windows :
1) Vous devez utiliser DDInet.DLL. Ce fichier est fourni dans le dossier modules de l’installation de
DinkeyDongle.
2) Renommez DDInet.DLL du nom de votre choix (conservez toutefois l’extension DLL). Ceci vous permettra
de protéger, si vous le souhaitez, des pages différentes avec des dongles différents et d’éviter d’éventuels
conflits avec d’autres DLL que des développeurs pourraient fournir.
3) Protégez la DLL avec DDADD selon les étapes suivantes :
• Lancez DDADD
• Dans l’onglet Général cochez le type de clé Dinkey2 puis saisissez un code produit de votre
choix
• Dans l’onglet Plus de détails choisissez de protéger le logiciel et le dongle et Protéger un
programme avec un dongle portant mon SDSN
• Dans l’onglet Programmes cliquez sur Ajouter puis sélectionnez DDInet.DLL en méthode objet
• Dans l’onglet Protéger cliquez sur Protéger
Remarque : la fonction d’algorithme de protection n’est pas supportée par DDInet
4) Copiez la DLL protégée dans le dossier Windows\System32 (pour Windows NT/2000/XP) de la machine
locale. Cette opération doit être réalisée sur chacune des machines pour lesquelles vous souhaitez autoriser
l’accès à vos pages web sécurisées.
5) Le pilote des clés Dinkey doit être installé sur la machine du poste client. Une simple exécution du fichier
SETUPDRV.EXE fourni dans le dossier DRIVERS de l’installation de Dinkey suffit.
6) Les utilisateurs doivent disposer de Java sur leur machine. Très souvent fourni avec le navigateur, celui-ci
peut toutefois être téléchargé sur http://www.java.com.
7) Le navigateur des utilisateurs doit comporter l’option Java activée.
zz
3
8) Lorsque les utilisateurs se connectent pour la première fois aux pages web sécurisées, un message
d’avertissement s’affiche pour leur demander s’ils souhaitent utiliser l’applet. Ils doivent cliquer sur Oui pour
simplement accéder à la page ou sur Toujours pour accéder à la page et ne plus voir ce message.
9) Lorsque les utilisateurs se connectent pour la première fois aux pages web sécurisées, un message
d’avertissement s’affiche pour leur demander s’ils souhaitent utiliser l’applet. Ils doivent cliquer sur Oui pour
simplement accéder à la page ou sur Toujours pour accéder à la page et ne plus voir ce message.
3.2. Pour MACOSX :
1) Vous devez utiliser libDDInet.jnlib. Ce fichier est fourni dans le dossier Mac de l’installation de DinkeyDongle.
2) Renommez le module libDDInet.jnlib du nom de votre choix (il doit juste commencer par lib et avoir la même
extension).
Cela
afin
d’éviter
tout
conflit
avec
des
modules
d’autres
développeurs.
3) Protégez la librairie avec DDADD selon les étapes suivantes :
• Lancez DDADD
• Dans l’onglet Général cochez le type de clé Dinkey2 puis saisissez un code produit de votre
choix
• Dans l’onglet Plus de détails choisissez de protéger le logiciel et le dongle et Protéger un
programme avec un dongle portant mon SDSN
• Dans l’onglet Programmes cliquez sur Ajouter puis sélectionnez libDDInet.jnlib en méthode
objet
• Dans l’onglet Protéger cliquez sur Protéger
Remarque : la fonction d’algorithme de protection n’est pas supportée par DDInet
4) Copiez la librairie ainsi protégée dans Library | Java | Extensions folder. Vous pouvez réaliser cette opération
avec Safari qui effectuera le chargement de la librairie. Cette opération doit être réalisée sur chacune des
machines pour lesquelles vous souhaitez autoriser l’accès à vos pages web sécurisées.
5) Le pilote des clés Dinkey doit être installé sur la machine du poste client. Le driver doit être installé pour
que le dongle soit reconnu.
5.a) Localiser le package ddUsbKeyDrivers1.4.1.pkg dans le repertoire mac à la racine du CD-ROM.
5.b) Double cliquer sur ce fichier pour installer les pilotes (Si vous avez déjà exécuter le package d’installation
mac le pilote est déjà installer mais il faudra prévoir cette étape pour sur vos postes clients).
Note sur l’installation du pilote :
Copier le fichier ddUSBKeyDriver.kext dans le répertoire System | Library | Extensions folder.
Note sur la désinstallation du pilote :
Supprimer le fichier ddUSBKeyDriver.kext du repertoire System | Library | Extensions folder.
6) Les utilisateurs doivent disposer de Java sur leur machine. Très souvent fourni avec le navigateur, celui-ci
peut toutefois être téléchargé sur http://www.java.com.
7) Le navigateur des utilisateurs doit comporter l’option Java activée.
8) Lorsque les utilisateurs se connectent pour la première fois aux pages web sécurisées, un message
d’avertissement s’affiche pour leur demander s’ils souhaitent utiliser l’applet. Ils doivent cliquer sur Oui pour
simplement accéder à la page ou sur Toujours pour accéder à la page et ne plus voir ce message.
3.3. Pour LINUX :
1) Vous devez utiliser libDDInet.so. Ce fichier est fourni dans le dossier Mac de l’installation de DinkeyDongle.
2) Renommez le module libDDInet.so du nom de votre choix (il doit juste commencer par lib et avoir la même
extension).
Cela
afin
d’éviter
tout
conflit
avec
des
modules
d’autres
développeurs.
3) Protégez la librairie avec DDADD selon les étapes suivantes :
• Lancez DDADD
• Dans l’onglet Général cochez le type de clé Dinkey2 puis saisissez un code produit de votre
choix
zz
4
•
Dans l’onglet Plus de détails choisissez de protéger le logiciel et le dongle et Protéger un
programme avec un dongle portant mon SDSN
• Dans l’onglet Programmes cliquez sur Ajouter puis sélectionnez libDDInet.so en méthode objet
• Dans l’onglet Protéger cliquez sur Protéger
Remarque : la fonction d’algorithme de protection n’est pas supportée par DDInet
4) Installez la librairie libDDInet.so sur chaque station client
5) Instructions d'installation pour la détection des clés Dinkey sous Linux :
a)Pré-requis
============
a.1) Sous-système USB (Permet au port USB de fonctionner correctement)
a.2) Fichiers systèmes proc et usbfs installés (Les scripts d’installation le vérifie)
a.3) Le package libusb doit être installé
Sous Redhat: rpm -Uhv <nom complet de la librairie libusb>
Sous Debian: apt-get install libusb-0.1-4 (à moins q’une version plus récentes soit disponible)
La version minimale requise de libusb est 0.1.8. A moins d’utiliser une distribution Linux très ancienne cela
devrait systématiquement être le cas. Si vous disposez malgré tout d’une version trop ancienne de libusb vous
pouvez obtenir une actualisation de votre distribution ou une mise à jour de libusb sur le site
http://libusb.sourceforge.net
Dans la plupart des cas la déclaration de la gestion des clés DinkeyDongle USB est très facile à mettre en
œuvre. Il ne s’agit pas réellement d’un driver au sens strict du terme mais d’un script permettant à LINUX de
reconnaître les clés DinkeyDongle attachées. Donc a moins que le système Linux ne soit très vieux tout ce qu’il
y a à faire est de placer les dossiers ’inst’, ‘uninst’, ‘ft.rules’ dans 1 répertoire de la machine puis :
b)Pour déclarer DinkeyDongle
=========================
b.1) Connectez-vous en tant qu’utilisateur root
b.2) Exécuter : sh inst
c)
Pour désactiver la détection DinkeyDongle
===========================
c.1) Connectez-vous en tant qu’utilisateur root
c.2) Exécuter : sh uninst
NB ddusbkey.o n’a absolument rien avoir avec la déclaration de détection de clé sous LINUX.
6) Les utilisateurs doivent disposer de Java sur leur machine. Très souvent fourni avec le navigateur, celui-ci
peut toutefois être téléchargé sur http://www.java.com.
7) Le navigateur des utilisateurs doit comporter l’option Java activée.
Lorsque les utilisateurs se connectent pour la première fois aux pages web sécurisées, un message
d’avertissement s’affiche pour leur demander s’ils souhaitent utiliser l’applet. Ils doivent cliquer sur Oui pour
simplement accéder à la page ou sur Toujours pour accéder à la page et ne plus voir ce message.
4. Protégez vos pages Internet avec DinkeyWeb
L'exemple PHP propose deux exemples de pages web protégées : index.php et index2.php.
Chacune d'elle doit inclure l'"include file" nommé DDInetInc.php.
Ceci constitue l'essentiel du test de la protection. Vous n'avez pas à vous soucier du contenu de ce fichier. Ne
le modifiez pas. Inspirez-vous simplement du code exemple des fichiers index.php et index2.php. Vos pages
web protégées devront utiliser le même format que ces pages. Il vous suffit de modifier les variables dans ces
pages et d'ajouter le code que vous souhaitez afficher à l'utilisateur.
Remarque - Vous pouvez paramétrer ce système pour que chaque page teste la présence du dongle
(paramétrez la variable timeout à 0). Vous pouvez également paramétrer le timeout pour que l'utilisateur puisse
consulter les pages pendant X secondes entre deux tests du dongle.
zz
5
Les informations suivantes expliquent le code des fichiers index.PHP et index2.PHP.
Le test de la protection est réalisé par la fonction DDProtCheck().
5. Paramètres de DDProtCheck
$DDSessionID
ID de session. Vous n'avez pas à initialiser cette variable dans votre code PHP.
Elle sera vierge par défaut. Vous devez passer cette variable entre toutes les pages
protégées par le dongle. Ne réinitialisez pas et ne modifiez pas cette variable. Le code
exemple illustre son utilisation.
$Timeout
Timeout de la session en secondes. Après ce délai, un appel de DDProtCheck() vérifiera la
présence du dongle.
S'il est paramétré à 0, chaque page vérifiera la présence du dongle.
$WebFunction
Fonction de vérification de la protection (reportez-vous au manuel pour plus d'information).
ex : paramétrez webfunction à 1 pour écrire dans la zone de données.
$WebSDSN
Valeur de votre SDSN (ex : 10101 pour le SDK de démo).
$WebDLL
Initialisé avec le nom de votre fichier DDInet.DLL renommé. Ne doit pas inclure l'extension
.dll.
$WebData
Initialisez avec les données que vous souhaitez écrire dans la zone de données (si vous
utilisez cette fonctionnalité).
(Remarque - assurez-vous d'avoir initialisé $WebFunction à 1 pour écrire les données).
$WebSite
Initialisez avec le dossier URL du site web dans lequel la page est enregistrée.
(Remarque - de terminez pas cette valeur par un anti-slash).
$WebPage
Initialisez avec le nom de la page (ex : index.PHP).
$WebPageError
Initialisez avec le nom de la page (ex : Error.php) si vous souhaitez que cette page soit
appeler lors de la détection d’une erreur par la fonction DDProtCheck. Si vous laisser ce
champ vide ou non renseigné la page appelé sera $WebPage. Ce champ vous permet de
personnaliser le traitement des codes d’erreur.
$WebFlags
Flags pour le test de la protection.
Paramétrez à 1 pour supprimer les messages, sans quoi DDInet.dll pourrait afficher des
boîtes de dialogue.
$WebDataOffSet Initialisez à l'offset de la zone de données où vous souhaitez lire/écrire des données (si vous
utilisez cette fonctionnalité).
$WebDataLength Initialisez à la longueur des données que vous souhaitez lire/écrire dans la zone de données
(si vous utilisez cette fonctionnalité).
DDProtCheck() retournera 0 pour une interrogation de la protection avec succès ou retournera un code erreur.
6. Variables
$Gretcode
Le code retourné par le test de la protection (0 = succès, sinon il contiendra le code erreur).
Cette valeur devra toujours être testée par votre code PHP. Si le test échoue, la page ne
doit pas être affichée (le code exemple montre cela).
$Gdongle_no
Numéro de série du dongle.
zz
6
$Gsdsn
SDSN stocké dans le dongle.
$Gprodcode
Code produit stocké dans le dongle.
$Gexecs
Nombre d'exécutions autorisées par le dongle (-1 pour illimité).
$Gexp_day
Jour de la date d'expiration (31/15/2107 pour illimité).
$Gexp_month
Mois de la date d'expiration (31/15/2107 pour illimité).
$Gexp_year
Année de la date d'expiration (31/15/2107 pour illimité).
$Gfeatures
Mot de fonction stocké dans le dongle.
$Gupdate
Prochain numéro de mise à jour stocké dans la clé.
$Gmaxnetusers
Nombre maximum d'utilisateurs réseaux simultanés autorisé.
$Gusb
Type de dongle : 1 - port parallèle, 2 - USB.
$Gdata
Valeur de la chaîne de caractères contenue dans la zone de données.
$Gmodel
Modèle de dongle : 1 Dinkey 1, 2 - Dinkey 1S, 3 - Dinkey 2, 4 - DinkeyNet.
Remarque: Tous les liens ou formulaires chargeant des pages complémentaires DOIVENT également passer la
variable $DDSessionID. A défaut, chaque page vérifiera la présence du dongle.
7. Précisions
1) La fonction d'algorithme de protection n'est pas supportée par DDInet.
2) Vous pouvez lire et écrire des données dans la zone de données sécurisée du dongle (seulement avec les
Dinkey2/Net) mais vous pouvez seulement lire/écrire des chaînes de caractères, pas des données brutes
(fichiers).
3) Si vous souhaitez que certaines pages décrémentent le compteur d'exécutions ou écrivent dans la zone de
données sécurisée, vous devez initialiser la valeur du timeout à 0 (vérifier le dongle sur chaque page). A défaut,
la page pourra être consultée avant le timeout de la session et le dongle ne sera pas testé.
4) Compatibilité avec FIREFOX.
Sur PC -> Activer JAVA et désactiver JAVASCRIPT dans ‘Outils’ ‘Options’ onglets ‘Contenu’ de FIREFOX.
Sur MAC -> Dans propriétés systèmes désactiver JAVASCRIPT puis Activer JAVA et désactiver JAVASCRIPT
dans ‘Outils’ ‘Options’ onglets ‘Contenu’ de FIREFOX
zz
7
La Foltière - 37270 AZAY/CHER
Tél. 02 47 35 70 35 - Fax 02 47 35 70 25
e-mail : [email protected]
www.aplika.fr
zz
8

Documents pareils