Transmission d'information depuis un site web

Le problème exposé dans ce sujet a été résolu.

Bonjour,

pour un projet j'ai besoin de récupérer une information qui ce trouve dans la bdd de mon site. Cette bdd n'accepte pas les connexions externes du coup je dois trouver un moyens de récupérer cette information.

L'utilisateur rentre son pseudo dans mon programme, et je dois simplement aller vérifier si celui-ci correspond au mot de passe depuis le site. Si c'est bon je retourne une simple valeur (son niveau, ou rang appelez ça comme vous voulez) .

En gros dans ma bdd j'ai : - Users – username – password – level

Dans mon programme j'ai comme information l'username et le password, je veux récupérer le level.

Je sais que niveau sécurité ont aura vu mieux mais j'ai pas vraiment le choix (à moins qu'il existe un autre choix, dans ce cas je veux bien le connaitre).

Pas vraiment car c'est la seul et unique fois que j'ai besoin de lier les deux. Je n'aurais ensuite jamais besoin de faire quoi que ce soit.

Du coup je me demande si un petit script php qui affiche simplement YES ou NO ne serait pas suffisant.

Un truc dans ce style:

1
2
3
4
5
6
7
8
9
boost::network::http::client client;
boost::network::http::client::request request("http://www.example.com?username=#VK&password=mypassword");
request << boost::network::header("Connection", "close");
boost::network::http::client::response response = client.get(request);

if(body(response) == "YES")
{
    // Do it
}

J'ai pas encore fait de test donc je sais pas trop.

PS: l'exemple ci-dessus utilise la lib cpp-netlib

Tu as le bon et le mauvais programmeur. Le mauvais programmeur, il fait tout à l'arrache. Le bon programmeur… bon, il fait tout à l'arrache, mais c'est un bon programmeur !

Avril

J'ai peur de comprendre :s .

Le problème c'est que je n'ai jamais crée une API et que je hais le PHP (enfin, disons que moins j'en fais mieux je me porte).

Je voudrais simplement un truc simple (on ce comprend) et stable.

Ton lien est broken.

Concernant les autres liens dans ton premier post. Ce que tu appelles API c'est juste le xml généré à cette adresse : https://zestedesavoir.com/api/membres/ ?

Parce que générer un xml en php il y a pas de problème, le lire en C++ ça doit pas être trop compliqué non plus. L'important pour moi et de ne pas avoir besoin de télécharger le fichier (physiquement) pour éviter que l'utilisateur puisse le modifier d'une manière quelconque.

J'ai une question : est ce vraiment important que l'utilisateur rentre son mot de passe ?

Si Non (ce qui t’intéresse c'est juste de connaître son level et ça n'a aucune vrai incidence sur le reste qu'on puisse connaitre le level de quelqu'un d'autre) alors il suffit de faire une route sur le site qui a un pseudo te renvois son level.

Si Oui c'est beaucoup plus problématique car si c'est important que l'utilisateur soit authentifier (car il aura un accès à des informations ou éléments particulier ou sensible de ton appli) tu va au devant de gros problèmes. Il sera ultra simple pour quelqu'un de faire un script entre ton appli et le serveur pour renvoyer un faux level quelque soit ce qu'il rentre.

En conclusion soit les actions de ton appli sont critique et il faut une vrai identification, soit ça a peu d'importance et n'importe quelle route qui fait le minimum fera l'affaire.

Le mot de passe est pas vraiment important, en fait j'ai même pas besoin du nom d'utilisateur. Chaque pc sur lequel l'application est présente est identifié par un hwid.

Le site permet de gérer quel pc a accès aux fonctionnalités.

Par exemple l'hwid 1234 est dans le groupe 2 donc il a accès a la fonctionnalité 1. Mais l'hwid 123456789 est dans le groupe 5 donc il a accès à toutes les fonctionnalités.

(re)bonjour à tous,

bon après une journée entière j'ai trouvé une solution (ouai je sais je suis lent, mais je suis développeur front-end normalement ahah).

Donc je voulais pas utiliser cURL ou une autre lib externe qui oblige une dll a être présente etc … j'ai donc utilisé WinInet.h .

Que dire mis à part que cette lib est vraiment super simple à utiliser et elle fait parfaitement ce que je lui demande.

Du coup ça m'a donné pleins d'idées de projets pour plus tard x).

Merci pour votre aide.

PS: une dernière question rapidement, pour identifier chaque ordinateur je fais un truc simple :

1
GetVolumeInformation("C:\\",volumeName,ARRAYSIZE(volumeName),&serialNumber, &maxComponentLen, &fileSystemFlags,fileSystemName, ARRAYSIZE(fileSystemName))

C'est correct ? J'ai pas d'erreur etc mais je risque pas de me retrouver avec deux ordinateurs et le même id ? (si j'ai bien compris ici je récupère le n° de série du hdd)

Merci :)

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte