J'ai un site qui peut prendre des demandes de plusieurs sites. Une sorte de chèque de mise à niveau. Ces sites enverront des informations telles que les noms d'utilisateur, les mots de passe, la version app, etc., puis mon site enverra une réponse basée sur cette information. P>
Fondamentalement, il s'agit d'un Je me demandais s'il y aurait des problèmes de sécurité faire des choses comme celle-ci. Ces données pourraient-elles être "interceptées" d'une manière ou d'une autre? P> $ _ obtenir la demande code>, quelque chose comme: p>
http://www.mysite.com/?user=boo&password=foo&version=4 code> p>
3 Réponses :
Utilisez .htaccess pour modifier et manipuler l'URL de votre site Web.
Exemple: ressemblera à: p> Lorsque vous créez avec succès le fichier .htaccess, les deux URL agiront de la même manière. p> p>
Cela n'ajoute aucune protection précieuse, toutes les informations sont toujours facilement disponibles. Il peut être légèrement plus difficile de trouver, mais il n'y a pas de véritable protection.
C'était juste un copain de démo. Vous pouvez encoder les valeurs et les variables en fonction de l'un des algorithmes que vous souhaitez.
L'URL peut également être conçue par exemple: mySite.com/dbu4321gpp8765cheapdata.html
Dans l'URL ci-dessus, personne ne serait capable de trouver la technologie la page Web utilisant, quel est le nom réel de la page, quels sont les noms de variables, quelles sont les valeurs, etc.
True, mais vous utilisez de toute façon une sorte de hash / sel afin que vous puissiez aussi bien passer comme paramètre d'obtention normal.
Dites-moi simplement si votre système est capable d'envoyer et d'accepter des demandes postales ou non?
Une fois que SSL est configuré et que les certificats sont en place, il n'y a essentiellement aucune différence entre les données SSL et les données non cryptées en ce qui concerne le PHP. Il ne devrait donc pas y avoir de problèmes avec les données postales.
Alors pourquoi n'essayez-vous pas d'utiliser des données de poste au lieu d'utiliser obtenir des données. Les demandes postales sont beaucoup plus sûres.
Non, les demandes postales ne sont pas plus sûres. La seule raison qu'il semble plus sûre est que les données transmises ne sont pas affichées explicitement aux utilisateurs par des navigateurs Web, mais les données sont toujours transmises au serveur en texte brut.
Ensuite, la solution ultime que je suis capable de penser est Hash / sel.
Security ARouge Obscurity ne fonctionne pas, et l'utilisation de l'article à condition de gêner uniquement légèrement plus difficile à arracher si vous cherchez réellement l'utilisateur sur l'épaule. P>
Le vrai problème ici empêche les personnes d'intercepter le trafic en transit entre les serveurs. Le seul moyen de faire face à cela est le cryptage, tel que SSL. C'est une bonne idée d'essayer toujours d'utiliser SSL lorsque vous transmettez des informations sensibles telles que des mots de passe. Cela peut être légèrement plus difficile à mettre en œuvre, mais cela vaut vraiment la peine en termes de sécurité. P>
Cependant, le meilleur moyen de garder les données sensibles d'être arraché est de ne pas la transmettre en premier lieu. Examinez s'il s'agit d'une option de vérification de votre application pour les mises à jour sans transmettre un mot de passe. Si une mise à jour est disponible, vous pouvez envoyer à l'utilisateur à une page Web à l'aide de HTTPS pour télécharger la mise à jour, ce qui vous permet de mettre en œuvre vous-même la mise en œuvre de SSL. P>
Eh bien, je suggérerais fortement Au lieu de cela, je suggérerais de générer un jeton d'authentification important (une chaîne aléatoire de grande taille, 128 caractères fonctionnent). Ensuite, les utilisateurs installeraient ce "jeton" dans leur application. P> MAINTENANT, lorsque l'application vérifie les mises à jour, il tire d'abord une demande à votre serveur pour demander un jeton Digest. Il s'agit d'un jeton aléatoire et d'utilisation unique utilisée uniquement pour une demande exacte. Votre application doit générer un jeton, le stocker dans un format durable (fichier, mémoire, base de données, etc.) avec l'horodatage, puis le renvoyer. P> Maintenant, votre demande reçoit ce jeton de Digest (appelé alors, vous envoyez le $ dt code> ici). Ensuite, vous le hmac avec le jeton d'authentification préconfiguré déjà donné. P>
$ authfield code> sur le serveur. Le serveur divisera ensuite les pièces: p>
$stub = $user . ':' . $authToken;
if ($hash == hash_hmac('sha256', $stub, $digestToken)) {
//valid user
} else {
//Not valid
}
Vous pourriez regarder dans Hash / sel. IE, demande de clients à l'aide d'un mot de passe haché, qui est à nouveau haché à l'aide d'un sel que votre serveur sait.
C'est le type de question qui serait parfait pour zone51.stackexchange.com/proposals/12123/webservice-apis < / a>