[R] Compte Utilisateur Net pour protéger Programme
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Compte Utilisateur Net pour protéger Programme
Alors voilà j'ai fait un petit programme en Autoit .
Et je voudrais que ceux qui le téléchargeront ne puisse l'utiliser que si ils ont un compte utilisateur que je leur fournirais.
Donc j'avais pensé à plusieurs solutions, utiliser mysql depuis chaque client pour se connecter au compte verifier que le compte est valide et si oui alors le reste du programme peut être utilisé. Mais pour mysql sur autoit il semble qu'il faille installer les OCBD drivers et j'ai pas envie de l'imposer aux personnes qui téléchargeront le programme..... donc je vois pas cette solution comme envisageable, a moins que ce soit moi qui complique tout ^^.
Donc la deuxieme solution que j'envisageais c'est qu'avant que l'utilisateur puisse utiliser toutes les fonctions du programme, il devrait se connecter (depuis le programme, comme un genre de mini navigateur intégré qui ne so'uvrirait que sur la page de connexion) donc toute la partie vérification etc se passerait sur le navigateur j'aurais donc un hébèrgment pour un script php léger et une base de donnée ... et si le compte est bon l'utilisateur peut utiliser le programme (les boutons se dégrisent par exemple) sinon il ne peut que quitter ou ressayer de se connecter.
Donc est ce que c'est envisageable, pas trop compliqué?
Ce qui me fait surtout peur c'est de faire communiquer le script autoit lancer sur la machine de l'utilisateur et la page php .
Merci d'avance pour votre aide
Et je voudrais que ceux qui le téléchargeront ne puisse l'utiliser que si ils ont un compte utilisateur que je leur fournirais.
Donc j'avais pensé à plusieurs solutions, utiliser mysql depuis chaque client pour se connecter au compte verifier que le compte est valide et si oui alors le reste du programme peut être utilisé. Mais pour mysql sur autoit il semble qu'il faille installer les OCBD drivers et j'ai pas envie de l'imposer aux personnes qui téléchargeront le programme..... donc je vois pas cette solution comme envisageable, a moins que ce soit moi qui complique tout ^^.
Donc la deuxieme solution que j'envisageais c'est qu'avant que l'utilisateur puisse utiliser toutes les fonctions du programme, il devrait se connecter (depuis le programme, comme un genre de mini navigateur intégré qui ne so'uvrirait que sur la page de connexion) donc toute la partie vérification etc se passerait sur le navigateur j'aurais donc un hébèrgment pour un script php léger et une base de donnée ... et si le compte est bon l'utilisateur peut utiliser le programme (les boutons se dégrisent par exemple) sinon il ne peut que quitter ou ressayer de se connecter.
Donc est ce que c'est envisageable, pas trop compliqué?
Ce qui me fait surtout peur c'est de faire communiquer le script autoit lancer sur la machine de l'utilisateur et la page php .
Merci d'avance pour votre aide
Modifié en dernier par deviante le lun. 17 nov. 2008 13:41, modifié 1 fois.
- jbnh
- Niveau 11
- Messages : 1932
- Enregistré le : ven. 02 mai 2008 14:54
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] Compte Utilisateur Net pour protéger Programme
Pourquoi pas simplement mettre un pass à ton programme avec un simple msgbox sinon tu met un fichier txt ou ini sur ftp avec les comptes disponible et tu vérifies comme ca.
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !
Merci
Merci
- Tlem
- Site Admin
- Messages : 11796
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Compte Utilisateur Net pour protéger Programme
Tout est possible.
Pour faire simple, un login/passwd stocké sur un fichier distant (avec le passwd modifié périodiquement).
Autre solution (déjà discuté sur le forum) une clé en fonction de certaines caractéristiques de la machine.
Voilà. Vous n'avez qu'a faire votre choix.
Pour faire simple, un login/passwd stocké sur un fichier distant (avec le passwd modifié périodiquement).
Autre solution (déjà discuté sur le forum) une clé en fonction de certaines caractéristiques de la machine.
Voilà. Vous n'avez qu'a faire votre choix.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Compte Utilisateur Net pour protéger Programme
Parce que faire un systeme de protection si ils se refilent le pass ne sert a rien ?
J'y ai pensé, faire un genre de clé cd , le probleme c'est qu'ils vont se refiler le pass ou autre, ca c'est inévitable, avec une database je verais si un compte est utilisé par 2 personnes diférentes en même temps ! donc je pourrais le désactivé simplement et demander des explications
J'y ai pensé, faire un genre de clé cd , le probleme c'est qu'ils vont se refiler le pass ou autre, ca c'est inévitable, avec une database je verais si un compte est utilisé par 2 personnes diférentes en même temps ! donc je pourrais le désactivé simplement et demander des explications

Re: [..] Compte Utilisateur Net pour protéger Programme
Donc ouai et donc comment intégrer une page html +php un mini navigateur dans mon script autoit? y a un contrôle existant? et comment faire pour "communiquer entre la page web et le script php genre "compte accepté" , de manière sécurisé bien entendue , avec le module IE3 peut être?
Re: [..] Compte Utilisateur Net pour protéger Programme
Ha apparament IE.au3 avec ieCreate() correspondrait a ce que je cherche, apres faudra voir si il est facile de récupérer les informations !
- Tlem
- Site Admin
- Messages : 11796
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Compte Utilisateur Net pour protéger Programme
Ha ben ouais, pourquoi faire simple quand on peut faire compliqué !deviante a écrit :donc comment intégrer une page html +php un mini navigateur dans mon script autoit?

Je suis stupéfait de voir le nombre de gens qui cherchent à faire des choses super compliqué pour si peux.

Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Compte Utilisateur Net pour protéger Programme
Ok certes mon truc te parait compliqué mais je faisais référence a WebBrowser de Visual studio par exemple c'est aussi simple à mettre qu'un bouton
donc je cherchais si engros ce genre de composant existait, mon but c'est justement de pas faire une uzine à gaz 



- Tlem
- Site Admin
- Messages : 11796
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Compte Utilisateur Net pour protéger Programme
Hummm, ben je vois pas trop la finalité d'une telle gestion dans une appli (fenêtre de navigateur intégré) dans ce cas un simple accès par un navigateur classique et demande de code devrait suffire.
Et quand est-il si l'utilisateur n'a pas accès à internet ?
Pour faire presque simple
(AMHA), sur votre site Web utilisez la gestion sur un répertoire d'un fichier .htaccess et .htpasswd, puis dans votre application l'accès à un fichier ou une page protégée par le .htaccess (login + passwd de ce type : http://user:passwd@monsite.fr) et si ok on valide une clé à durée déterminée dans la base de registre.
De temps en temps, demander de ré-actualiser cette clé pour continuer l'utilisation du logiciel.
Pour plus de sécurité et éviter le réglage de l'horloge pour gagner du temps, vous pouvez adjoindre un fichier historique qui mémorise de manière codée l'utilisation du logiciel (dernière date et heure d'utilisation par exemple).
Si le fichier est supprimé alors blocage.
Si un ancien fichier est restauré et que la clé de la base de registre ne correspond pas alors blocage.
Si la date est antérieure à l'historique de l'utilisation alors blocage.
Etc ...
Vous pouvez aussi en cas d'impossibilité de l'utilisateur d'avoir accès à internet rajouter une fonction de déblocage par code qui autorise l'utilisation du logiciel pour une période X.
Évidement, ce code devra être généré en fonction de la date en cours et dépendent du fichier de protection.

Et quand est-il si l'utilisateur n'a pas accès à internet ?
Pour faire presque simple

De temps en temps, demander de ré-actualiser cette clé pour continuer l'utilisation du logiciel.
Pour plus de sécurité et éviter le réglage de l'horloge pour gagner du temps, vous pouvez adjoindre un fichier historique qui mémorise de manière codée l'utilisation du logiciel (dernière date et heure d'utilisation par exemple).
Si le fichier est supprimé alors blocage.
Si un ancien fichier est restauré et que la clé de la base de registre ne correspond pas alors blocage.
Si la date est antérieure à l'historique de l'utilisation alors blocage.
Etc ...
Vous pouvez aussi en cas d'impossibilité de l'utilisateur d'avoir accès à internet rajouter une fonction de déblocage par code qui autorise l'utilisation du logiciel pour une période X.
Évidement, ce code devra être généré en fonction de la date en cours et dépendent du fichier de protection.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Compte Utilisateur Net pour protéger Programme
Et quand est-il si l'utilisateur n'a pas accès à internet ?
__________________________
Il n'est pas censé utiliser le programme si il n'a pas le net
, ton systeme est intéressant aussi mais quid de si ils se refilent les clés ou les pass pour le htaccess avec un navigateur intégré :
1- ils ne peuvent pas changer l'URL contrairement a n'importe quel fenetre firefox ou ie.
2- ils sont obligés de se loguer pour avoir accés aux fonctions du programme a chaque fois -> je peux donc enregistrer chacune des utilisations dans une base de données, et avec l'ip vite voir si on se fou de ma geule ou non :p
3 - Le navigateur intégré je peux aussi l'utiliser pour afficher des news ou autres informations sans avoir besoin d'uploader un fichier réguliérement.
4- avec une database si je me rend compte que certains utilisent le même compte, suffit que je change la valeure de ce compte a bloqué et c'est réglé on en parle plus !
Après ca n'est probablement pas infaillible, le but c'est pas de faire le Hackshield tu siecle , juste d'éviter un minimum la copie abusive.....
Enfaite l'histoire de la page web, c'est juste parce que faire une requete sql direct depuis autoit c'est trop tordu , faudrait que les gens installent les ocbd drivers et c'est hors de question... ca aurait probablement été plus simple par visual basic ou autre mais je ne connais pas trop ces langages et autoit facilite tout de même la vie en général:p
__________________________
Il n'est pas censé utiliser le programme si il n'a pas le net

1- ils ne peuvent pas changer l'URL contrairement a n'importe quel fenetre firefox ou ie.
2- ils sont obligés de se loguer pour avoir accés aux fonctions du programme a chaque fois -> je peux donc enregistrer chacune des utilisations dans une base de données, et avec l'ip vite voir si on se fou de ma geule ou non :p
3 - Le navigateur intégré je peux aussi l'utiliser pour afficher des news ou autres informations sans avoir besoin d'uploader un fichier réguliérement.
4- avec une database si je me rend compte que certains utilisent le même compte, suffit que je change la valeure de ce compte a bloqué et c'est réglé on en parle plus !

Après ca n'est probablement pas infaillible, le but c'est pas de faire le Hackshield tu siecle , juste d'éviter un minimum la copie abusive.....
Enfaite l'histoire de la page web, c'est juste parce que faire une requete sql direct depuis autoit c'est trop tordu , faudrait que les gens installent les ocbd drivers et c'est hors de question... ca aurait probablement été plus simple par visual basic ou autre mais je ne connais pas trop ces langages et autoit facilite tout de même la vie en général:p
- jbnh
- Niveau 11
- Messages : 1932
- Enregistré le : ven. 02 mai 2008 14:54
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] Compte Utilisateur Net pour protéger Programme
c'est compliqué tout ces machins. Tu pourrais aussi travailler en deux étapes pour éviter tout problème. Chaque jour tu génères x serial number valable 24h, les membres enregistrés doivent se connecter a ton site pour avoir au hasard 1 des sérial. Une fois le sérial entré dans ton programme, tu lui met un caractère spécial apres dans ton fichier ftp.
Exemple: Keygen.txt
1111111111111111
2222222222222222
3333333333333333
si le
222222222222222 est utilisé il devient 222222222222222@ et donc si quelqu'un d'autre l'utilises le @ est détecté, impossible d'accéder au programme.
Ca devient un peu tiré par les cheveux j'avoue. Mais au moins pas de multi-utilisation.
Exemple: Keygen.txt
1111111111111111
2222222222222222
3333333333333333
si le
222222222222222 est utilisé il devient 222222222222222@ et donc si quelqu'un d'autre l'utilises le @ est détecté, impossible d'accéder au programme.
Ca devient un peu tiré par les cheveux j'avoue. Mais au moins pas de multi-utilisation.
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !
Merci
Merci
- Tlem
- Site Admin
- Messages : 11796
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Compte Utilisateur Net pour protéger Programme
Voilà une information que vous n'aviez pas donné ...deviante a écrit :Il n'est pas censé utiliser le programme si il n'a pas le net
Ils ne peuvent pas car la partie login/passwd est gérée par le logiciel et bien évidement lors de la première connexion un sérial est généré rendent l'application de l'utilisateur unique et lié à sa machine.deviante a écrit :mais quid de si ils se refilent les clés ou les pass pour le htaccess avec un navigateur intégré

C'est du TSE qu'il vous faut et non une appli autonome ...deviante a écrit :2- ils sont obligés de se loguer pour avoir accés aux fonctions du programme a chaque fois -> je peux donc enregistrer chacune des utilisations dans une base de données, et avec l'ip vite voir si on se fou de ma geule ou non :p
Encore une info importe que vous avez omis de signaler.deviante a écrit :3 - Le navigateur intégré je peux aussi l'utiliser pour afficher des news ou autres informations sans avoir besoin d'uploader un fichier réguliérement.
Si vous voulez faire ça en temps réel, il n'y à que ça effectivement.deviante a écrit :4- avec une database si je me rend compte que certains utilisent le même compte, suffit que je change la valeure de ce compte a bloqué et c'est réglé on en parle plus !
Ouaip, bof, il suffit de décompiler votre appli, et hop, plus de protection.deviante a écrit :Après ca n'est probablement pas infaillible, le but c'est pas de faire le Hackshield tu siecle , juste d'éviter un minimum la copie abusive.....

De tête il existe un UDF pour faire ça !deviante a écrit :c'est juste parce que faire une requete sql direct depuis autoit c'est trop tordu , faudrait que les gens installent les ocbd drivers et c'est hors de question...
J'en doute, car si vous avez besoin d'un ODBC, que ce soit avec VB ou C++ ... c'est la même chose.deviante a écrit :ca aurait probablement été plus simple par visual basic ou autre
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
- jbnh
- Niveau 11
- Messages : 1932
- Enregistré le : ven. 02 mai 2008 14:54
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] Compte Utilisateur Net pour protéger Programme
J'ai envie de dire que si il décompile le script, quoi qu'il arrive, c'est foutu (mysql, compte ftp, adresse du fichier ou sont stockés les keys,...)Tlem a écrit : deviante a écrit:
Après ca n'est probablement pas infaillible, le but c'est pas de faire le Hackshield tu siecle , juste d'éviter un minimum la copie abusive.....
Ouaip, bof, il suffit de décompiler votre appli, et hop, plus de protection.
Ou alors me trompe-je?
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !
Merci
Merci
- Tlem
- Site Admin
- Messages : 11796
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Compte Utilisateur Net pour protéger Programme
Je n'ai qu'une chose à dire : http://www.autoitscript.fr/forum/viewto ... f=3&t=1192
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Compte Utilisateur Net pour protéger Programme
Je suis conscient pour le décompil c'est pour ça que je veux faire une protection minimum mais j'ai bien conscience que contre les plus hardus je pourrais rien faire, de toute façon qui pourrait au fond
Désolé pour les infos que j'avais oublier de préciser, et merci pour votre aides, même si je reste sur la base d'un navi intégré , vous m'avez éclairé sur les "clés cd" et autre solutions plus "internes" au programme et ca me servira pour d'autres fois ....
Parcontre Telm je sais pas si c'est pas simplifié avec c# ou autre vb , avec . net on doit pouvoir faire ce genre de chose j'imagine mais bon c'est un forum autoit ...
encore merci pour votre aide je met le topic en R

Désolé pour les infos que j'avais oublier de préciser, et merci pour votre aides, même si je reste sur la base d'un navi intégré , vous m'avez éclairé sur les "clés cd" et autre solutions plus "internes" au programme et ca me servira pour d'autres fois ....
Parcontre Telm je sais pas si c'est pas simplifié avec c# ou autre vb , avec . net on doit pouvoir faire ce genre de chose j'imagine mais bon c'est un forum autoit ...
encore merci pour votre aide je met le topic en R
- jl56
- Niveau 7
- Messages : 415
- Enregistré le : mer. 24 oct. 2007 22:42
- Localisation : 56000
- Status : Hors ligne
Re: [R] Compte Utilisateur Net pour protéger Programme
bonjour deviante
Pour quelques un de mes scripts
j'utilise le n° de série du disque dur
dans ton script teste la présence d'un fichier ex. protection.txt
si il n'est pas présent, ton script donne le n° de série à l'utilisateur qui te le transmet par mail
toi tu te sert de ce n° pour générer le fichier crypté ensuite tu l'envoie à l'utilisateur
à chaque lancement ton script lira dans le fichier protection.txt le n° de serie et le compare au disque si il est différent bail bail
ex. de génération du fichier
a+ jl56
Pour quelques un de mes scripts
j'utilise le n° de série du disque dur
dans ton script teste la présence d'un fichier ex. protection.txt
si il n'est pas présent, ton script donne le n° de série à l'utilisateur qui te le transmet par mail
toi tu te sert de ce n° pour générer le fichier crypté ensuite tu l'envoie à l'utilisateur
à chaque lancement ton script lira dans le fichier protection.txt le n° de serie et le compare au disque si il est différent bail bail
ex. de génération du fichier
Code : Tout sélectionner
#include <String.au3>
$filesp=FileOpen(@HomeDrive&"\protection.txt",2)
$var = DriveGetSerial(@HomeDrive)
$crypte=_StringEncrypt(1,$var,"deviante",2)
FileWriteLine($filesp,$crypte)
FileClose($filesp)
;test du fichier
$filesp=FileOpen(@HomeDrive&"\protection.txt",0)
$crypte=FileReadLine($filesp)
FileClose($filesp)
$var = DriveGetSerial(@HomeDrive)
$decrypte=_StringEncrypt(0,$crypte,"deviante",2)
if $decrypte=$var then
MsgBox(0,"","ok pour "&$var)
else
MsgBox(0,"","erreur de protection")
endif
Modifié en dernier par Tlem le jeu. 20 nov. 2008 21:30, modifié 1 fois.
Raison : Ajout des balises de code
Raison : Ajout des balises de code
Re: [R] Compte Utilisateur Net pour protéger Programme
Bonjour,
en utilisant la fonction "DrivegetSerial" on obtient le windows volume ID et non le n° de série du disque .
le test avec 2 clés usb du même fabricant et même modèle renvoi la même valeur.
comment trouver le n° de série "hardware" d'un disque ?
merci
en utilisant la fonction "DrivegetSerial" on obtient le windows volume ID et non le n° de série du disque .
le test avec 2 clés usb du même fabricant et même modèle renvoi la même valeur.
comment trouver le n° de série "hardware" d'un disque ?
merci
- Jerome
- Niveau 9
- Messages : 661
- Enregistré le : mar. 07 avr. 2009 08:35
- Localisation : Picardie
- Status : Hors ligne
Re: [R] Compte Utilisateur Net pour protéger Programme
Coucou,
Voila des éléments de réponse si DriveGetSerial ne convient pas...
ici
et :
Jérôme
Voila des éléments de réponse si DriveGetSerial ne convient pas...
ici
et :
Code : Tout sélectionner
$IpList = "127.0.0.1"
Dim $objWMIService = ObjGet("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& $IpList & "\root\cimv2")
Dim $colDrives = $objWMIService.ExecQuery _
("Select * From Win32_DiskDrive")
For $objDrive in $colDrives
MsgBox("", "", "Drive letter: " & $objDrive.DeviceID & @CRLF)
Next
Jérôme