Services web Codeigniter
J'utilise Codeigniter 1.7. Quelqu'un aurait-il une expérience de la création de services web avec PHP, en particulier dans le cadre CodeIgniter? Quelles sont les mesures de sécurité doivent prendre en compte lors de la mise en œuvre de services web? Comment assurer l'authentification de l'API clés?
Des Idées?
source d'informationauteur siva565 | 2012-03-14
Vous devez vous connecter pour publier un commentaire.
Cela dépend du type de service web qui vous intéresse. Est le service web va être un démon par exemple? ou un typique en ligne service web. Pour l'un de ces, vous devez mettre en œuvre un type RESTful. Reposant sens d'un apatride en connexion. C'est là la clef API sont utilisées; l'identité d'un utilisateur par exemple.
Heureusement, Codeigniter est un avec de nombreuses bibliothèques et extensions. Un exemple de ces bibliothèques peut être ici: https://github.com/philsturgeon/codeigniter-restserver
Maintenant pour des problèmes de sécurité: clés API de remplacer les sessions ou de tout état. Vous devez faire le plein de contrôles sur les api. De nombreux sites qui mettent en œuvre des Api d'offrir des solutions différentes pour le même résultat final.
D'authentification avec l'API touches sont simples. Vous vérifiez contre un type de stockage de données(base de données).
Voici un tutoriel en utilisant codeigniter et de la bibliothèque liés précédemment: http://net.tutsplus.com/tutorials/php/working-with-restful-services-in-codeigniter-2/
Cela pourrait être un peu vague, mais puisque vous n'avez pas de problèmes spécifiques ou apparent besoin de son dur pour être précis.
EDIT:
Dans ce cas, il serait préférable de mettre en œuvre une interface RESTful, de sorte que votre application iphone peut également utiliser toutes les fonctionnalités proposées aux utilisateurs de votre service fournit. La meilleure façon serait de rendre le tout accessible dans un seul sens. Sens de ne pas avoir les différents contrôleurs /modèles pour l'iphone connexions et connexions web.
Ainsi, par exemple, vous pourriez avoir le contrôleur suivant:
Maintenant, c'est juste un petit exemple pour l'exécution de ces types de demandes. Cela pourrait s'appliquer à n'importe quel type de contrôleur. Bien qu'il existe quelques options ici. Vous pourriez faire de chaque demande de passer le apikey, et le secret à chaque fois et de vérifier à chaque demande. Ou vous pourriez avoir une sorte de liste blanche qui une fois que vous avez vérifié la première fois à chaque demande après qui seraient ajoutés à la liste blanche ou liste noire sur la face.
Espère que cette aide,
Daniel