2010-10-06 4 views
1

Je vends script PHP en ligne à 35 $ pour un utilisateur individuelcomment identifier si mon script PHP est hébergé par d'autres

Est-il possible de déterminer si, mon script est hébergé par plus d'un utilisateur ..

Dois-je utiliser une logique dans mon script pour trouver son identité?

est-il un moyen facile de trouver le pareil respiratoire

S'il vous plaît aidez-moi. (désolé pour les erreurs grammaticales)

+1

Essayez-vous d'empêcher le piratage? ou pensez-vous qu'un site utilise votre code et cherche à le prouver? – scunliffe

+3

Il y a de nombreuses discussions à ce sujet sur le SO. par exemple. http://stackoverflow.com/search?q=php+protect+code –

Répondre

1

Par exemple, quelque part dans votre script:

<?php 
file_get_contents('http://yourserver.com/tranck_script_users.php?site='.url_encode($_SERVER['HTTP_HOST'])); 
?> 

De cette façon, vous verrez qui héberge utiliser votre script. Bien sûr, n'importe qui peut supprimer cette ligne de votre script, il n'y a pas de moyen à 100% de savoir à coup sûr.

1

Si vous le pouvez, essayez de faire des appels simples à un de vos serveurs pour suivre l'utilisation du script, vous devez envoyer le nom de domaine et l'adresse IP. Utilisez cURL pour cela. Si votre logique métier le permet, vous pouvez aller jusqu'à désactiver la fonctionnalité de script si le suivi échoue. Parce que PHP est un texte simple, n'importe qui peut supprimer votre partie de code de suivi. Essayez d'obscurcir le code.

+2

Super idée! Désactivez la fonctionnalité pour les clients payants lorsqu'une tranche de l'épine dorsale se désactive, brisant le lien vers votre serveur de suivi, ou votre serveur de suivi est indisponible pour maintenance, ou vous décidez de fermer boutique, ou vous êtes touché par un bus et votre suivi le compte du serveur est annulé. En prime, puisque quiconque pirate votre code supprimera probablement tout simplement le code de suivi, en restaurant toutes les fonctionnalités de leurs versions, cela n'affectera que vos clients. – AllenJB

+0

En fait, tout peut être piraté. Ce qui compte si c'est difficile à faire. Dans le cas actuel d'un script PHP, c'est extrêmement facile. Avec juste le script comme il le vend le seul effort nécessaire est de l'obtenir d'un client payant. S'il ajoute quelque chose pour suivre l'utilisation, le pirate doit regarder le script et en comprendre au moins une partie. S'il l'obscurcit aussi, l'effort nécessaire augmente. –

+1

@ALlenJB 'puisque quiconque piratera votre code supprimera probablement tout simplement le code de suivi, rétablissant toutes les fonctionnalités de leurs versions, cela n'affectera que vos clients." Eh bien, la plupart des mesures antiterroristes (par ex. les avions, l'écoute sur les réseaux sociaux, etc.) fonctionnent de la même manière, donc il doit y avoir un mérite à cela! : D –

1

Il n'y a pas de moyen fiable en PHP pour empêcher quelqu'un d'autre d'utiliser votre script. Parce que PHP utilise la compilation juste-à-temps, le code source peut être lu par n'importe qui ayant accès aux fichiers. Cela signifie que toute logique d'appel que vous mettez dans votre script peut facilement être désactivée. Le mieux que vous puissiez faire est de l'obscurcir, mais le code peut toujours être édité par n'importe qui avec une détermination suffisante.

Votre meilleure solution est d'utiliser une bonne licence, ou de développer dans un langage qui peut être distribué déjà compilé. Avec PHP, il n'y a pas de moyen fiable d'empêcher la réutilisation de votre code source.

Je vous demande instamment de ne mettre aucune fonctionnalité de call-home dans votre script. Premièrement, il peut être désactivé, il est donc essentiellement inutile. Deuxièmement, cela entraînera des retards importants, même pour les utilisateurs légitimes de votre script. Enfin, si vous devez le mettre en, il est essentiel que vous disiez à vos utilisateurs que vous le faites.

+1

Je suis d'accord, jamais, jamais ajouter la fonctionnalité d'appel dans un script pour éviter le piratage. C'est juste une idée terrible! – AlexV

+0

Je suis d'accord avec vous que ce n'est généralement pas une bonne idée. Mais si vous voulez vraiment faire quelque chose avec PHP, cela peut vous aider. Vous pouvez également faire les appels juste envoie et dépiste qui utilise votre script et quand l'utilisateur arrête de l'utiliser, en vous donnant des pirates potentiels. Il devrait y avoir quelques demandes avant que le pirate réalise que vous surveillez l'utilisation. En ce qui concerne le client payant, vous pouvez écrire dans votre contrat de licence que le script le fait et si quelqu'un se plaint, vous pouvez fournir une version propre. –

+1

@Alin Oui, vous pouvez le faire si vous voulez vraiment, vraiment. Vous devez juste être conscient que, à la fin, cela ne fonctionnera probablement pas. – lonesomeday

1

Il n'y a aucun moyen de le faire sans (IMO) impact sur la sécurité/la confidentialité de vos utilisateurs. La seule façon "propre" de faire ceci est d'encoder vos scripts avec un outil comme IonCube (il y en a beaucoup d'autres mais ne les a jamais utilisés) et de restreindre l'exécution sur un domaine spécifique. L'inconvénient (vous pouvez également voir cela comme un plus en fonction de votre régime de licence) est que les utilisateurs ne peuvent pas voir/modifier votre code.

1

Il n'y a pas grand chose à faire pour annuler le piratage avec des scripts non compilés. Tout le monde peut modifier la source pour supprimer toutes les protections que vous avez en place. Vous pouvez, cependant, essayer d'exécuter le script à l'aide d'un outil d'obfuscation, ou essayer d'encoder manuellement le fichier, de la même manière qu'un grand nombre de logiciels malveillants PHP. L'obscurcissement et ce type d'encodage peuvent et seront battus par quelqu'un avec assez de temps sur leurs mains, cependant. Si vous êtes prêt à investir de l'argent dans le problème, vous pouvez consulter IonCube Encoder ou Zend Guard. Les deux sécuriseront votre script, et je sais qu'au moins Zend Guard permet des licences par serveur.Cependant, ces solutions obligeront vos utilisateurs finaux à installer les chargeurs IonCube ou Zend.

Questions connexes