Interface Python pour un site

Résolu/Fermé
Utilisateur anonyme - 3 mai 2016 à 22:43
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 22 mai 2016 à 00:16
Bonjour,

Je réalise une interface graphique en Python (wxPython) pour effectuer certaines tâches sur un site (en PHP). Coté PHP je crée une sorte d'API qui reçoit en paramètres une commande, et retourne le résultat sous forme de XML. Ce XML pourrait être par exemple une liste de choses provenant de la base de données.

Afin de garantir une sécurité maximum et ne permettre d'utiliser ces fonctions qu'à partir de mon application Python, je souhaite réaliser une sorte de chiffrement. Alors ma question, est-ce qu'il y a des suggestions de fonctions de chiffrement qui sont compatibles et implémentables facilement en Python et PHP pour permettre cette communication? Exemple, un petit algo de chiffrement simplifié qui soit utilisable de la même façon dans les deux langages et envoie une chaîne qu'on peut déchiffrer de manière transparente?

Je sais déjà ce que je ferais si je n'ai pas de réponse ici mais bon, j'aime aussi parfois entendre des suggestions.

Merci

A voir également:

2 réponses

Utilisateur anonyme
8 mai 2016 à 11:28
Soit, je remonte un peu le sujet au cas où mais j'ai implémenté ce qu'il fallait moi même.
0
Sugel Messages postés 4070 Date d'inscription jeudi 18 août 2011 Statut Membre Dernière intervention 19 juin 2017 724
8 mai 2016 à 14:38
tu n'a pas besoin de chiffrement, mais d'authentification.
de base, ça me semble être une mauvaise idée de faire un pannel déporté comme ça, ça implique que tu expose ta base de donnée, tu devrais plutôt faire un pannel d'admin web et installer un pannel d'admin, c'est bien moins lourd.

Si tu persiste, tu peux juste décider d'installer un secret partagé et vérifier l'intégrité de tes messages avec hmac, ou bien de t'authentifier de manière plus classique derrière du chiffrement.

0
Utilisateur anonyme
8 mai 2016 à 19:28
Bonjour,

La page d'API vérifie que l'on est autorisé via une méthode POST où elle compare un mot de passe, c'est donc bien de l'authentification avant tout (l'utilisateur de l'application doi entrer sa clé d'API), et sans ça, aucun accès à l'API. Seules les fonctions limitées sont présentées, ce n'est pas la base de données qui est exposée mais uniquement ce que j'ai choisi d'exposer. La partie chiffrement permet de garantir que l'échange entre l'application et l'API est sécurisé, un peu comme du SSL mais personnalisé.

Ma méthode est similaire aux API que Google ou d'autres mettent à disposition en Python pour leurs services. Avoir une interface de programmation permet un contrôle bien plus fin, avec la possibilité de créer des scripts etc.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
9 mai 2016 à 18:32
Bonjour,

Pourquoi ne pas utiliser un tunnel TLS ?
Sinon pour le chiffrement, peu importe. Les deux possèdent des bibliothèques relativement bien fournies (AES par exemple).
0
Sugel Messages postés 4070 Date d'inscription jeudi 18 août 2011 Statut Membre Dernière intervention 19 juin 2017 724
9 mai 2016 à 21:07
comme du ssl mais personnalisé ?
à partir du moment où tu essaie de faire de la crypto toi-même, c'est forcément cassé.

évite de faire ça, la solution de fiddy est pertinente.
0
Utilisateur anonyme
10 mai 2016 à 18:53
Je n'ai pas dit vouloir inventer un algo de crypto (ceci dit au cas où j'ai suivi des cours pour ça :) ), ce sera un chiffrement AES ou quelque chose du style, je voulais m'assurer de disposer de fonctions entièrement compatibles. Des langages de programmation fournissent bien sûr des fonctions de crypto, mais les implémentent de façon propre et parfois incompatibles.

Je vais mettre le sujet en résolu. Je voulais peut être avoir un peu des avis autres, j'aime les suggestions aussi, utiliser du SSL impose d'avoir un certificat etc par exemple, par contre sécuriser sa communication de manière personnalisée permet de traiter tous les cas de figure.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
10 mai 2016 à 19:29
Je n'ai pas dit vouloir inventer un algo de crypto (ceci dit au cas où j'ai suivi des cours pour ça :)
Je doute que des cours soient suffisants pour l'implémentation d'un algorithme sûr :-).

utiliser du SSL impose d'avoir un certificat etc par exemple, par contre sécuriser sa communication de manière personnalisée permet de traiter tous les cas de figure.
Oui. Mais au moins, tu assures l'authentification et la confidentialité grâce au TLS.
0