Guide d intégration. Protection de logiciels PHP avec DinkeyPRO/FD. Contact Commercial : Tél. : 02 47 35 70 35 Email : com@aplika.

Documents pareils
CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

ST1 (Installation-Protection) 1 ST1. Version 23. Janvier Calcul de structures. Installation Protection S E T R A

TABLE DES MATIERES...

5004H103 Ed. 02. Procédure d installation du logiciel AKO-5004

Windows 8 Installation et configuration

Storebox User Guide. Swisscom (Suisse) SA

Partager sa connexion Internet via le WiFi avec Windows 8

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

User Manual Version 3.6 Manuel de l Utilisateur Version

Crédit Agricole en ligne

Mode d'emploi, If Cinéma

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

1. Introduction Avantages, fonctionnalités, limitations et configuration requise Avantages... 2

Le Registre sous Windows 8 architecture, administration, script, réparation...

Configuration de Microsoft Internet Explorer pour l'installation des fichiers.cab AppliDis

Tutorial Terminal Server sous

Copyright Arsys Internet E.U.R.L. Arsys Backup Online. Guide de l utilisateur

FileMaker Server 13. Guide de démarrage

AxCrypt pour Windows

IBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence nominative)

Guide d'installation du token

Sage CRM. 7.2 Guide de Portail Client

Guide d'installation

Configuration de ma connexion ADSL

Publipostage et étiquettes

Guide utilisateur. Gestion des niveaux de sécurité. Contact commercial : Tél. : com@aplika.fr

Installation 4D. Configuration requise Installation et activation

Guide d installation de Windows Vista /Windows 7

Menu Fédérateur. Procédure de réinstallation du logiciel EIC Menu Fédérateur d un ancien poste vers un nouveau poste

FileMaker Server 14. Guide de démarrage

FileMaker 11. Guide de publication Web instantanée

OPTENET DCAgent Manuel d'utilisateur

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Manuel d utilisation du logiciel Signexpert Paraph

Guide d installation des licences Solid Edge-NB RB

IBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence simultanée)

26 Centre de Sécurité et de

Sélection du contrôleur

Logiciel photothèque professionnel GUIDE D UTILISATION - 1 -

Module SMS pour Microsoft Outlook MD et Outlook MD Express. Guide d'aide. Guide d'aide du module SMS de Rogers Page 1 sur 40 Tous droits réservés

Guide de l'utilisateur Citrix EdgeSight pour test de charge. Citrix EdgeSight pour test de charge 3.6

Vous pouvez à présent à reconfigurer votre messagerie en cliquant ici.

Mes documents Sauvegardés

Partager sa connexion Internet via le WiFi avec Windows 8

Guide d installation UNIVERSALIS 2016

Guide de démarrage

AFTEC SIO 2. Christophe BOUTHIER Page 1

Guide d installation UNIVERSALIS 2014

Guide d installation

Mise à jour d une édition Yourcegid V9

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque

MODE D EMPLOI. PX Dongle USB Wi-Fi 300 Mbps USB 2.0, Wi-Fi

Guide de l'utilisateur de l'application mobile

VM Card. Manuel des paramètres des fonctions étendues pour le Web. Manuel utilisateur

Leica icon Series. Guide d'installation et d'activation de licence. Version 1.0 Français

contact@nqicorp.com - Web :

Guide d installation CLX.PayMaker Office (3PC)

Bien travailler sur plusieurs écrans

Documentation utilisateur "OK-MARCHE" Historique des modifications. 3.0 Mise à jour complète suite à version OK-MARCHE V2.2. de marchés publics

FAQ Trouvez des solutions aux problématiques techniques.

Application de lecture de carte SESAM-Vitale Jeebop

CONFIGURATION DE L'ACCÈS À DISTANCE POUR LE SYSTÈME D'ENREGISTREMENT VIDÉO NUMÉRIQUE QT17D324SC

Configuration requise

Mise en place de votre connexion à Etoile Accises via Internet sécurisé

INSTALLATION DE L AGENT CT EASY BACKUP LAN REV 1.0/

Guide d installation de OroTimesheet 7

Capture Pro Software. Démarrage. A-61640_fr

HAYLEM Technologies Inc.

Universalis Guide d installation. Sommaire

INSTALLATION DE PEGASUS MAIL 3.12 c FR Avec l interface Harp

FileMaker Server 14. Aide FileMaker Server

Tutorial pour l installation et l utilisation de CREO et de Windchill

Seagate Technology LLC S. De Anza Boulevard Cupertino, CA 95014, États-Unis

Lenovo Online Data Backup Guide d'utilisation Version

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

Installation 4D. Configuration requise Installation et activation

Sauvegarder Bcdi (réseau Novell / Gespere)

FileMaker 13. Guide ODBC et JDBC

Table des matières...2 Introduction...4 Terminologie...4

Protéger ses données dans le cloud

Gestion des applications, TI. Tout droits réservés, Marcel Aubin

Sage 50 Version 2014 Guide d installation. Sage Suisse SA

Certificats de signature de code (CodeSigning)

Instructions d installation de MS SQL Server pour Sage 50 Classement et Gestion commerciale. Sage Suisse SA Avenue Mon-Repos Lausanne

Utilisez Toucan portable pour vos sauvegardes

FileMaker Server 13. Aide FileMaker Server

Pour une première installation : suivre la procédure en page 5 à 9 Pour une mise à jour : suivre la procédure page 5, 6, 10 et 11

PHP. PHP et bases de données

Guide d utilisation de la clé mémoire USB

Sauvegarder automatiquement ses documents

Raccordement de votre périphérique multifonction à d'autres ordinateurs

Guide de l utilisateur. Synchronisation de l Active Directory

TeamViewer 7 Manuel Manager

Guide d'utilisation du Serveur USB

À propos de l'canon Mobile Scanning MEAP Application

Web service AREA Manuel d installation et d utilisation du mode déconnecté. Version du 18 mars 2011

Messages d'erreurs. Redémarrez votre PC en cliquant sur Démarrer, en sélectionnant ensuite Arrêter puis en cochant Redémarrer

Objet du document. Version document : 1.00

Mettre à jour PrestaShop

Transcription:

Guide d intégration Protection de logiciels PHP avec DinkeyPRO/FD Contact Commercial : Tél. : 02 47 35 70 35 Email : com@aplika.fr Contact Technique : Tél. : 02 47 35 53 36 Email : support@aplika.fr Version 1.00 du 15/02/2011 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 : aplika@aplika.fr

Guide d intégration DinkeyPRO/FD PHP 1. Introduction... 3 2. Les étapes de protection de vos pages PHP... 3 3. Fonctions de vérification de la protection PHP... 5 3.1. Liste des fonctions GET... 5 3.2. Code exemple PHP... 6 3.3. Tableau des valeurs de FLAGS... 6 3.4. Protection des extensions PHP... 6 4. Déploiement de votre application... 9 2

Guide d intégration DinkeyPRO/FD PHP 1. Introduction Afin de vous aider dans les premiers pas de la pose de protection sur vos logiciels PHP, vous trouverez dans ce guide de prise en main rapide l essentiel des commandes et fonctionnalités pour la bonne utilisation des clés DinkeyPRO/FD. La solution que nous proposons vous permettra de distribuer vos logiciels PHP tout en maîtrisant le nombre de licences installées et en protégeant les sources et scripts ainsi distribués contre la copie ou les modifications. L utilisation seule de notre solution sans obfuscation des scripts PHP n est pas conseillée. Pour garantir l efficacité de la solution nous vous invitons à crypter vos sources PHP afin que les appels à nos APIs ne puissent pas être retirés. Il existe plusieurs programmes permettant le cryptage de script PHP, parmi ceux que nous avons testés pour vous, nous recommandons l utilisation de SourceGuardian. Pour faire une demande de version d évaluation cliquez-ici http://www.sourceguardian.com/free_php_encoder_trial.html. Nous proposons également la fourniture de ce logiciel pour cela, contactez votre commercial. Pour utiliser cette solution vous devez dans un premier temps, lors de l installation du SDK DinkeyPRO sous Windows, faire le choix d installer les Extensions PHP. Ces extensions permettent d établir des appels à nos APIs directement à partir de vos scripts PHP. Remarque : Les extensions PHP proposées pour l utilisation de nos APIs ne permettent pas d effectuer un contrôle des accès à vos pages PHP, mais de protéger la distribution de vos solutions. Pour mettre en place un contrôle d accès vous pouvez utiliser notre solution DinkeyWeb. Plus d informations sur www.dinkeyweb.fr Méthode utilisée : API avec des extensions PHP de notre fourniture, pour tout type de serveur web et d OS et de versions de PHP. En effet, le choix de l extension dépend de la version PHP et de son type de built, du type d OS et de son mode d exécution 32 ou 64 bits, du type de serveur Internet utilisé et de son paramétrage. Afin de simplifier le choix de l extension nous avons mis au point un script qui, après avoir analysé votre serveur, vous indiquera précisément quelle extension choisir. Il convient donc de copier le script which_extension.php sur le serveur destiné à recevoir l installation de vos programmes PHP, puis de l exécuter dans un navigateur. Ce script analysera alors l équipement et indiquera avec exactitude quelle extension doit être utilisée. Pour protéger votre application, vous devrez donc protéger le ou les extensions en utilisant DinkeyADD, en spécifiant la méthode API comme méthode de protection. Vous ne protégez pas directement vos scripts PHP. Une astuce possible pour protéger simplement toutes les extensions est de les copier toutes dans le même dossier (exemple c:\dossiera) puis de les protéger avec la même licence (exemple c:\dossiera\*.* dossier de sortie c:\dossierb) Remarque : une fois protégée avec DinkeyADD ne laissez pas de version non protégée des extensions, même si les fichiers ont été renommés. Le chargement d une extension non protégée entraînerait une erreur 413 lors de test de protection. 2. Les étapes de protection de vos pages PHP 1/ Modifiez vos scripts en y insérant des appels à nos fonctions de vérification de protection, tel que décrit dans phptest.php. Cryptez-les ensuite avec l outil de votre choix. 2/ Protégez toutes les extensions avec DinkeyADD (pour les modèles Plus et réseau vous devrez également programmer les dongles). 3/ Sur les serveurs où seront installés les scripts protégés, exécutez which_extension.php pour savoir quelle extension vous devez installer. 3

4/ Il suffit alors de copier la bonne extension dans le dossier comme indiqué dans which_extension.php 5/ Connectez un dongle 4

3. Fonctions de vérification de la protection PHP int DDSimpleCheck(flags) Exécute un test de protection avec la valeur flags indiquée en paramètre et retourne un code d erreur ou 0 si succès. int DDSimpleCheckEx($flags, $execs_decrement, [string] $alt_licence_name) Exécute un test de protection avec la valeur flags indiquée et initialise la valeur execs_decrement du DRIS (Mettre Flags à 2 pour utiliser le décompte d exécutions avec la valeur execs_decrement) et positionne la valeur alt_licence_name dans le DRIS (flags = 128) Si flags n est pas correctement positionné, execs_decrement et alt_licence_name sont ignorés. Retourne un code d erreur ou 0 si succès. int DDSimpleCheckAlg($flags, $alg_num, $var_a, $var_b, $var_c, $var_d, $var_e,$var_f, $var_g, $var_h) Exécute un test de protection avec la valeur flags indiquée et permet également d utiliser les algorithmes (valeur avec alg_num et variables a à h). Retourne un code d erreur ou 0 si succès. Pour obtenir le résultat de l algorithme, appelez la fonction GetAlgAnswer. int DDSimpleCheckAlgEx($flags, $execs_decrement, [string] $alt_licence_name,$alg_num,$var_a, $var_b, $var_c, $var_d, $var_e, $var_f, $var_g, $var_h) Exécute un test de protection avec la valeur flags indiquée et permet également d utiliser les algorithmes (valeur avec alg_num et variables a à h). Permet également d utiliser execs_decrement et alt_licence_name Retourne un code d erreur ou 0 si succès. Pour obtenir le résultat de l algorithme, appelez la fonction GetAlgAnswer. int DDWriteString($flags, $rw_offset, [string] $data) Exécute un test de protection avec la valeur flags indiquée et écrit rw_length octets de "data" à l offset rw_offset dans la zone de données du dongle. Retourne un code d erreur ou 0 si succès. int DDReadString($flags, $rw_offset, $rw_length, [string] &$data)exécute un test de protection avec la valeur flags indiquée et effectue la lecture de rw_length octets de "data" à partir l offset rw_offset dans la zone de données du dongle. Les données seront lues à partir de l argument "data". Retourne un code d erreur ou 0 si succès. 3.1. Liste des fonctions GET Remarque : Toutes les fonctions ci-dessous retournent FALSE si un test de protection n a pas été effectué avant leur appel. Si au moins un test de protection à déjà été effectué, la valeur de retour sera TRUE. Pour plus d informations sur ces valeurs reportez-vous au manuel, rubrique Structure DRIS. DDGetExtendedError(int &$exterr) DDGetType(int &$type) DDGetModel(int &$model) DDGetSDSN(int &$sdsn) DDGetDongleNumber(int &$donglenumber) DDGetUpdateNumber(int &$updatenumber) DDGetDataAreaSize(int &$dataareasize) DDGetMaxAlgNum(int &$maxalgnum) DDGetExecs(int &$execs) DDGetExpDay(int &$expday) DDGetExpMonth(int &$expmonth) 5

DDGetExpYear(int &$expyear) DDGetFeatures(int &$features) DDGetNetUsers(int &$netusers) DDGetAlgAnswer(int &$AlgAnswer) DDGetFDCapacity(int &$fdcapacity) DDGetProdCode(string &$prodcode) DDGetFDDrive(string &$fddrive) 3.2. Code exemple PHP Nous joignons à notre exemple deux scripts PHP prêts à l emploi, phptest.php pour tester l appel à nos APIs et vérifier la présence et les paramètres d un dongle et which_extension.php pour connaître l extension à choisir. Le code de test de protection est disponible dans notre page phptest.php. Remplacer le SDSN de demo 10101 par votre numéro SDSN dans les 10 fonctions principales. Changer le code MyAlgorithm (si vous utilisez vos algorithmes) Changer le code de CryptDRIS (si vous utilisez le cryptage du DRIS dans DinkeyADD) Changer CryptApiData (Si vous utilisez la fonction de cryptage des données) Changer le code de MyRWAlgorithm (si vous utilisez le cryptage des données ou l algorithme R/W de nos APIs) Vous remplacerez probablement la fonction Echo par votre propre code afin d uniformiser l affichage des codes d erreurs de protection avec les autres fenêtres de votre application. 3.3. Tableau des valeurs de FLAGS 0 DEC_ONE_EXEC test par défaut. 1 DEC_MANY_EXECS décrémente de 1 le compteur d exécutions. 2 START_NET_USER décrémente le compteur d exécutions de la valeur indiquée dans execs_decrement, utilisée avec les fonctions DDSimpleCheckEx et DDSimpleCheckAlgEx. 4 STOP_NET_USER Démarre un utilisateur réseau. 8 USE_FUNCTION_ARGUMENT Stoppe un utilisateur réseau. 32 CHECK_LOCAL_FIRST Vérifie les ports USB locaux avant de rechercher un dongle réseau (DinkeyServer). 64 CHECK_NETWORK_FIRST Vérifie d abord si un dongle réseau est disponible, puis scrute les ports USB locaux. 128 USE_ALT_LICENCE_NAME Fait un test de protection en vérifiant le nom du programme appelant indiqué dans alt_prog_name avec les fonctions DDSimpleCheckEx et DDSimpleCheckAlgEx. 256 DONT_SET_MAXDAYS_EXPIRY - Si la date d expiration n a pas été calculée, ne pas le faire cette fois. 512 MATCH_DONGLE_NUMBER - Restreindre le test à un numéro de série de dongle précis (valeur indiquée dans le champ DRIS). 3.4. Protection des extensions PHP Si vous faîtes appel au plugin sans l avoir préalablement protégé avec DinkeyADD, alors vous obtiendrez un code erreur 413. Pour protéger les extensions, veuillez procéder comme suit. Remarques : Vous devez protéger les extensions et pas directement vos applications. Vos programmes faisant appel aux extensions protégées seront alors également protégés. 6

Ouvrez l'utilitaire DinkeyAdd. Dans l'onglet "Général" : Précisez le type de clé que vous utilisez. En cas de doute, exécutez DinkeyLook afin d'afficher un diagnostic de la clé (Vous pouvez également indiquer plusieurs types de clé). Indiquez le Code Produit (pour les clés d'évaluation, celui-ci est "DEMO"). Dans l'onglet "Profils Licences" : Cliquez sur le bouton "Ajouter à la liste". Puis indiquer le nom d un profil licence et choisissez vos restrictions. 7

Dans l'onglet "Programmes" : Cliquez sur le bouton "Ajouter à la liste". Dans le champ "Chemin source", pointez sur le fichier plugin correspondant à votre utilisation (celui-ci se trouve par défaut dans le sous-dossier "Modules" du dossier d'installation de DinkeyPRO). Dans le champ "Chemin cible", indiquez l'emplacement vers lequel vous souhaitez qu'une copie protégée du plugin soit placée. Vérifiez que la méthode "API" est bien sélectionnée. Laissez les valeurs par défaut pour les champs suivants. Validez en cliquant sur le bouton OK. Les fichiers extensions du dossier c:/dossiers sont alors tous sélectionnés. Dans l'onglet "Zone de données" : 8

Initialisez la taille de la zone de données sécurisée, par exemple 128 octets. Le code exemple fourni permet de tester la lecture/écriture à vers/à partir de la zone de données sécurisée. Ceci ne fonctionnera que si cette zone est initialisée avec une taille suffisante pour recevoir les données de test. Remarques : Selon le type de clé (DinkeyPRO ou DinkeyFD) choisi dans l'onglet "Général", les paramètres de la zone de données correspondante seront activés dans l'onglet "Zone de données". Seules les versions Plus et Net disposent d'une zone de données sécurisées. Dans l'onglet "Protéger" : Vérifiez que l'option "Protéger l'application et programmer le dongle" est sélectionnée. Assurez-vous que le dongle est connecté. Cliquez sur le bouton "Ajouter la protection maintenant" Un message de confirmation apparaît. Vous disposerez alors d'un dongle correctement programmé, ainsi que d'une version protégée du/des extension(s) utilisé(s) dans le dossier vers lequel vous aurez pointé dans le champ "Chemin cible" de la fenêtre "Détails de la protection des fichiers". 4. Déploiement de votre application Vous devrez fournir les fichiers extensions en version protégée par DinkeyADD et leur arborescence avec votre script PHP crypté. Ces fichiers doivent être copiés sur les postes utilisateurs. Pour savoir quelle extension utiliser, il convient d utiliser notre script which_extension.php Si les fichiers extensions ne sont pas présents, une erreur surviendra. 9

La Foltière - 37270 AZAY/CHER Tél. 02 47 35 70 35 - Fax 02 47 35 70 25 e-mail : aplika@aplika.fr www.aplika.fr 10