[R] Compte Utilisateur Net pour protéger Programme

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
deviante
Niveau 2
Niveau 2
Messages : 18
Enregistré le : ven. 17 oct. 2008 20:22
Status : Hors ligne

[R] Compte Utilisateur Net pour protéger Programme

#1

Message par deviante »

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
Modifié en dernier par deviante le lun. 17 nov. 2008 13:41, modifié 1 fois.
Avatar du membre
jbnh
Niveau 11
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

#2

Message par jbnh »

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
Avatar du membre
Tlem
Site Admin
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

#3

Message par Tlem »

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.
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é".
deviante
Niveau 2
Niveau 2
Messages : 18
Enregistré le : ven. 17 oct. 2008 20:22
Status : Hors ligne

Re: [..] Compte Utilisateur Net pour protéger Programme

#4

Message par deviante »

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 :)
deviante
Niveau 2
Niveau 2
Messages : 18
Enregistré le : ven. 17 oct. 2008 20:22
Status : Hors ligne

Re: [..] Compte Utilisateur Net pour protéger Programme

#5

Message par deviante »

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?
deviante
Niveau 2
Niveau 2
Messages : 18
Enregistré le : ven. 17 oct. 2008 20:22
Status : Hors ligne

Re: [..] Compte Utilisateur Net pour protéger Programme

#6

Message par deviante »

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 !
Avatar du membre
Tlem
Site Admin
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

#7

Message par Tlem »

deviante a écrit :donc comment intégrer une page html +php un mini navigateur dans mon script autoit?
Ha ben ouais, pourquoi faire simple quand on peut faire compliqué ! :shock:

Je suis stupéfait de voir le nombre de gens qui cherchent à faire des choses super compliqué pour si peux. :lol:
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é".
deviante
Niveau 2
Niveau 2
Messages : 18
Enregistré le : ven. 17 oct. 2008 20:22
Status : Hors ligne

Re: [..] Compte Utilisateur Net pour protéger Programme

#8

Message par deviante »

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 ;) :lol: donc je cherchais si engros ce genre de composant existait, mon but c'est justement de pas faire une uzine à gaz :D
Avatar du membre
Tlem
Site Admin
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

#9

Message par Tlem »

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. 8)
Et quand est-il si l'utilisateur n'a pas accès à internet ?

Pour faire presque simple :lol: (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.
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é".
deviante
Niveau 2
Niveau 2
Messages : 18
Enregistré le : ven. 17 oct. 2008 20:22
Status : Hors ligne

Re: [..] Compte Utilisateur Net pour protéger Programme

#10

Message par deviante »

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 :D , 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 ! :mrgreen:

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
Avatar du membre
jbnh
Niveau 11
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

#11

Message par jbnh »

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.
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
Tlem
Site Admin
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

#12

Message par Tlem »

deviante a écrit :Il n'est pas censé utiliser le programme si il n'a pas le net
Voilà une information que vous n'aviez pas donné ...
deviante a écrit :mais quid de si ils se refilent les clés ou les pass pour le htaccess avec un navigateur intégré
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. 8)
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
C'est du TSE qu'il vous faut et non une appli autonome ...
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.
Encore une info importe que vous avez omis de signaler.
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 !
Si vous voulez faire ça en temps réel, il n'y à que ça effectivement.
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. :mrgreen:
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...
De tête il existe un UDF pour faire ça !
deviante a écrit :ca aurait probablement été plus simple par visual basic ou autre
J'en doute, car si vous avez besoin d'un ODBC, que ce soit avec VB ou C++ ... c'est la même chose.
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é".
Avatar du membre
jbnh
Niveau 11
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

#13

Message par jbnh »

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.
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,...)

Ou alors me trompe-je?
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
Tlem
Site Admin
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

#14

Message par Tlem »

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é".
deviante
Niveau 2
Niveau 2
Messages : 18
Enregistré le : ven. 17 oct. 2008 20:22
Status : Hors ligne

Re: [..] Compte Utilisateur Net pour protéger Programme

#15

Message par deviante »

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 :lol:

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
Avatar du membre
jl56
Niveau 7
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

#16

Message par jl56 »

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

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
a+ jl56
Modifié en dernier par Tlem le jeu. 20 nov. 2008 21:30, modifié 1 fois.
Raison : Ajout des balises de code
jadubu
Niveau 1
Niveau 1
Messages : 1
Enregistré le : jeu. 07 oct. 2010 10:04
Status : Hors ligne

Re: [R] Compte Utilisateur Net pour protéger Programme

#17

Message par jadubu »

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
Avatar du membre
Jerome
Niveau 9
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

#18

Message par Jerome »

Coucou,


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
Répondre