Interface Python pour un site
Résolu
Utilisateur anonyme
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- Interface Python pour un site
- Site comme coco - Accueil - Réseaux sociaux
- Site de telechargement - Accueil - Outils
- Site pour vendre des objets d'occasion - Guide
- Quel site remplace coco - Accueil - Réseaux sociaux
- Site pour partager des photos - Guide
2 réponses
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.
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.
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.
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.
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.
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.
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.
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.