J'ai mis en application l'achat de vérification de réception conformément aux recommandations d'Apple en envoyant le reçu à mon serveur qui à son tour, il envoie aux serveurs d'Apple pour la vérification. Tout mon traitement de réception est géré côté serveur et cela fonctionne parfaitement. Mon serveur renvoie un code très obscur à mon application pour confirmer si l'achat est valide ou non. J'utilise une méthode d'obfuscation assez robuste du côté de l'application pour dissimuler ce qui se passe avec ce code de retour afin de rendre la tâche la plus difficile possible pour les pirates informatiques jaloux de la vaincre. Le problème est que j'ai mes fichiers php stockés dans un dossier protégé par mot de passe sur mon serveur web, et je suis préoccupé par la façon dont cela peut être considéré comme sécurisé lorsque l'application a le nom d'utilisateur et le mot de passe pour ce répertoire pour envoyer le reçu au fichier php pour commencer.Les problèmes de sécurité l'envoi de nom d'utilisateur et mot de passe au serveur via https depuis iOS app
Mon application utilise uniquement le serveur pour l'authentification de réception des achats d'applications. Toutes les autres fonctionnalités sont dans l'application elle-même, donc je ne force pas chaque utilisateur à avoir un compte avec un nom d'utilisateur et un mot de passe uniques. J'utilise URLSession pour communiquer avec le serveur via une connexion TLS 1.2 https afin que la partie soit sécurisée, mais je ne peux pas penser à un moyen d'empêcher un pirate déterminé d'extraire potentiellement le nom d'utilisateur et le mot de passe de l'application sur leur appareil, et avoir accès à mon dossier de serveur directement. Quelqu'un avec cette capacité pourrait tout aussi bien modifier le fichier php pour toujours retourner un code indiquant un achat valide. Je cache le nom d'utilisateur et le mot de passe dans l'application au point que je pense que la plupart des gens abandonneraient probablement en essayant de le comprendre, mais je sais que je l'ai seulement rendu plus difficile à extraire, pas impossible .
Des commentaires à ce sujet? À peu près tout ce que j'ai trouvé en ligne concernant cela a été préoccupé de ne pas transmettre un nom d'utilisateur et mot de passe via http, pas le plus gros problème d'un appareil jailbreaké.
Pourquoi avez-vous inclus un nom d'utilisateur et un mot de passe dans votre application? Utilisez simplement un jeton généré aléatoirement qui est vérifié par exemple. par le script PHP côté serveur et cela n'est utile que pour cette API spécifique. – Robert
Robert Je suis assez nouveau pour interagir avec un serveur depuis une application iOS. Le répertoire du serveur est protégé par mot de passe à l'aide d'un fichier .htaccess. J'utilise l'authentification de base avec NSURLSession pour accéder au fichier .php. Je suppose que la question que je pose est de savoir comment accorder l'accès à ce répertoire protégé sans un mot de passe codé en dur et un nom d'utilisateur. – Scooter
N'utilisez pas l'authentification de base, utilisez simplement un paramètre HTTP get et vérifiez que dans le script PHP côté serveur. Bien sûr, vous devez apprendre un peu de PHP pour ça. Encore une fois: JAMAIS JAMAIS EMBARQUÉS CREDENTIALS WEBSERVER QUI PERMETTENT L'ACCÈS DIRECT AUX FICHIERS DANS UNE APPLICATION! – Robert