Connexion en PHP/MySQL avec adresse IP

Résolu
Ulrichleboss Messages postés 502 Date d'inscription dimanche 20 juillet 2008 Statut Membre Dernière intervention 14 mai 2016 - Modifié par Ulrichleboss le 18/07/2014 à 12:09
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 20 juil. 2014 à 15:43
Bonjour,


J'ai fait réussi à me faire un petit système de connexion en PHP avec une BDD MySQL, mais j'aimerais ajouter une protection par IP, que l'utilisateur puisse se connecter uniquement avec l'adresse IP de sa première connexion.

J'ai deux fichiers dans mon serveur ftp api.php et identifiants.php

include 'identifiants.php';

$pseudo = stripslashes(htmlspecialchars($_GET['pseudo']));
$mdp = strtolower($_GET['pass']);

$query_pseudo=$db->prepare("SELECT mdp FROM membre WHERE pseudo=:pseudo");
$query_pseudo->bindValue(":pseudo", $pseudo, PDO::PARAM_STR);
$query_pseudo->execute();
$data_pseudo=$query_pseudo->fetch();

if ($query_pseudo->rowCount() != 0)
{
 if ($data_pseudo['mdp'] == $mdp)
 {
  echo "ok";
 } else {
  
  echo "Error1";
 }
} else {
 
 echo "Error2";
}



Comment puis-je faire ça ? Je suis en C#

Merci d'avance !

3 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
18 juil. 2014 à 12:13
Bonjour,


Il faut que tu enregistres l'IP de l'utilisateur lors de sa première connexion et que lorsque tu interroges ta BDD pour vérifier ses identifiants... tu vérifies aussi son IP.

Attention... il arrive régulièrement que les IP changent....(surtout pour les personnes qui se connectent depuis des cyber cafés (surtout en Afrique) ou tout simplement pour les personnes qui utilisent différents lieux de connexion... ( travail/maison... depuis son smartphone....).
Avant de mettre ça en place... assure toi bien que cela ne causera pas de soucis pour l'utilisation de ton application par les utilisateurs.


0
Ulrichleboss Messages postés 502 Date d'inscription dimanche 20 juillet 2008 Statut Membre Dernière intervention 14 mai 2016
18 juil. 2014 à 12:17
Enfaite l'application servira uniquement à des utilisateurs qui auront acheter le logiciel, je voudrais en faire une sécurité en quelque sorte pour que les compte ne soit pas utiliser par deux personnes différentes, si la personne compte déménager je lui ferais un changement manuel
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
18 juil. 2014 à 14:21
En général.. plutôt que d'utiliser les IP les programmes utilisent la MAC Address .
Comme ça... même si l'utilisateur se connecte sous une autre IP... le programme fonctionne toujours.

http://fr.wikipedia.org/wiki/Adresse_MAC

http://www.commentcamarche.net/forum/affich-2798938-comment-connaitre-l-adresse-mac-de-son-pc

.

En C# :
foreach (NetworkInterface carteRéseau in NetworkInterface.GetAllNetworkInterfaces())
{
  string adresseMac;

  adresseMac = BitConverter.ToString(carteRéseau.GetPhysicalAddress().GetAddressBytes());
}


0
Ulrichleboss Messages postés 502 Date d'inscription dimanche 20 juillet 2008 Statut Membre Dernière intervention 14 mai 2016
20 juil. 2014 à 14:20
Une question si l'utilisateur change de carte par exemple il se met en wifi au lieu d'être en ethernet, il ne pourra donc plus se connecter vu que l'adresse MAC sera différente ?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
20 juil. 2014 à 15:43
Il te faudrait alors utiliser plutot le Numéro de série du disque dur où est installé ton programme.

jette un oeil ici :
http://www.developpez.net/forums/d1358776/dotnet/langages/csharp/numero-serie-physique-disque-dur-csharp/
0
Ulrichleboss Messages postés 502 Date d'inscription dimanche 20 juillet 2008 Statut Membre Dernière intervention 14 mai 2016
18 juil. 2014 à 16:25
Ah oui en effet c'est pas bête j'avais pas penser à l'adresse MAC je vais étudier ça ;)
0
Rejoignez-nous