Protection de fichiers

Eléphanteau du PHP | 12 Messages

06 janv. 2006, 13:56

Bonjour, je possede un site intranet en php sur un de mes pc.
par le biais de mon serveur apache, je diffuse ce site sur le réseau local.

Le probleme est que je voudrai restreindre tout utilisateur a l'accès du site, pour des raison de confidentialité du code source et de protection des fichiers .php.

Ce que je souhaiterai, c'est rendre impossible la copie et la lecture de mes fichiers sources, ainsi que de proteger l'execution dans le cas ou quelqu'un réussirait la copie (par exemple par la suppression automatique de tout les fichiers sources).
J'avais pensé a ce que la page principale du site verifie (furtivement) l'existance d'un fichier sur le disque dur et supprime tout les sources (php/js/jpg...) dans le cas ou ce fichier n'existerait pas.

Cela est-il possible ?
De quel facon m'y prendre ?
Avez-vous une autre solution ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 janv. 2006, 14:55

Je ne comprend pas ton problème ...

Si tes sources sont dans le répertoire Apache, elle ne seront jamais accessible via le réseau parce que c'est le code HTML qui sera envoyé !

Empecher la copie, si tu autorise la lecture, me semble impossible

Mais est-ce que tu peux préciser ce que tu cherche à faire stp ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 12 Messages

06 janv. 2006, 21:30

Oui, désolé je me suis peut-etre mal exprimé.
J'explique un peut la situation :
Je suis propriétaire d'une sorte de cyber-café qui compte un réseau de 18PCs.
Dans notre enceinte, nous proposons un site intranet qui nous permet de gerer la clientele (pour les employés) et qui permet aussi a la clentele de consulter les offres d'emplois de nos partenaires ainsi que de nous donner leur avis sur la qualitée du cyber.

Pour une question de concurence, je ne voudrai pas que mon site intranet soit copié pour etre ré-utiliser. Etant donnée que j'emploi pas mal de personnes en interim pour des missions courtes (beaucoups de jeunes),
je ne souhaite pas qu'ils puissent se faire une copie du site (c'est normal vu les heures que j'ai passés dessus).

En gros, je ne sais par quel moyen, c'est pour cela que je fait appel a vous, je voudrai que tout mes fichiers soit cryptés, et inutilisable sur un autre PC que celui prévu a cet effet.
Le code html généré peut etre lisible, cela ne fait aucune importance, mais je ne souhaite pas l'accès aux fichiers .php contenus sur le serveur qui est accessible par tout mes employés.
De plus une protection par mot de passe ne m'arrangerai vraiment pas.

Mammouth du PHP | 19672 Messages

06 janv. 2006, 22:10

Il existe deux solution payantes à ma connaissance pour crypter du code PHP tout en le laissant utilisable par le seuveur, mais le rendant inutilisable pour quiconque n'a pas la clé :
- PHPCodeLock;
- Zend Encoder.
Pour le dernier, il nécessite que le serveur Apache soit configuré avec le Zend Optimizer qui lui est offert gratuitement.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 janv. 2006, 22:19

Est-ce que tes employés ont à travailler sur ton intranet ?

Sinon, je me pose la question des tes moyens ? :-k si tu ne veux pas que les employés accedent à ton seveur, pourquoi ne pas utiliser un mot de passe ?

Mais si tu ne veux vraiement pas cette solution, le cryptage des source me parait également une bonne solution
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 12 Messages

07 janv. 2006, 10:41

Merci pour ces logiciels, je regarde sa et je vous tiens au courant.

Oui mes employés ont besoin de travailler sur l'intranet dumoin a l'utiliser.

Une deuxieme chose, ce cryptage empeche la modification, c'est super,
mais comment faire pour que la copie ne marche pas ?
J'avais pensé a vérifier la présence d'un fichier dans le disque (par exemple un fichier intranet.tmp dans c:\windows) ce qui permetrait de ne pas pouvoir l'executer sur un autre ordinateur que celui-ci.

Mammouth du PHP | 19672 Messages

07 janv. 2006, 11:13

Si ton application est cryptée et qu'elle comporte des accès à une base de données, il sera impossible au petit malin qui aura une copie sur une autre machine de modifier les paramètres de connexion à la base, donc l'application sera de toutes façons inutilisable ailleurs.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 12 Messages

07 janv. 2006, 13:46

J'ai testé le cryptage d'une page, en effet sa marche bien avec phpcodelock (version de demo dispo).

Je teste encore un peu mieux et je vous tiens au courant.

pour cette histoire de copie je vais voir si sa fonctionne.

ViPHP
ViPHP | 2144 Messages

07 janv. 2006, 18:20

Une personne qui utilise un intranet, ce n'est jamais que la même chose qu'un visiteur qui visite un site web, ce n'est qu'une question de dimension entre internet et intranet;
Comme l'a dit Zeus: un employé qui se connecte sur le serveur a accès à l'intranet mais pas au code source, comme c'est le cas pour un site internet.
Si tes employés n'ont pas accès au serveur via ftp ou physiquement, ils n'ont pas accès au code source.

Eléphanteau du PHP | 12 Messages

08 janv. 2006, 12:22

Ils ont justement acces au serveur, donc aux fichiers sources.

La solution du cryptage en base64 marche a merveille, je l'ai adopté.
Reste une chose : est-il possible de le décrypter facilement ?
car si le cryptage n'est pas très efficace, cela ne sert a rien.
Je n'ai pas trouvé d'utilitaire dans google pour le décrypter (bon j'ai pas cherché longtemps nonplus).
Cet encodage est-il donc vraiment efficace ?

Mammouth du PHP | 19672 Messages

08 janv. 2006, 12:29

Je dirais que tu poses peut-être la question à l'envers: ceux qui ont accès aux sources sont-ils d'un calibre suffisant pour te laisser craindre des tentatives pour décrypeter ton code ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 12 Messages

09 janv. 2006, 10:42

Bah disons qu'ils sont malins et qu'en général je prend des personnes qui s'interesse a l'informatique, sa leur fait une petite experience.
Disons que si il suffit de chercher dans google 5minutes pour trouver un log qui le décrypte, alors la oui sa ne serai pas assez efficace.
Maintenant si il faut s'arracher la moitier des cheveux et y passer des heures entieres, alors la sa me suffit, je c'est qu'aucune protection n'est infaïble mais c'est le minimum.

Eléphanteau du PHP | 12 Messages

10 janv. 2006, 14:32

Bon ben c'est parfait, le cryptage fonctionne et il est assez complexe pour y réfléchier un moment, je vous remercie de votre aide précieuse !
:D

ViPHP
ViPHP | 2144 Messages

10 janv. 2006, 14:42

Je trouve ça pas très judicieux que tout le monde ait accès au serveur, et aux dossiers qui contiennent le code. Mais bon, content pour toi que tu ais trouvé une solution...

Eléphant du PHP | 383 Messages

10 janv. 2006, 15:09

d'accord avec iclo, il serait de toute facon plus judicieux, et en tout cas plus simple, de modifier les droits d'acces de tes emplyees pour qu'ils ne puissent pas acceder au repertoire de l'intranet.