Connexion en PHP/MySQL avec adresse IP [Résolu]

Signaler
Messages postés
511
Date d'inscription
dimanche 20 juillet 2008
Statut
Membre
Dernière intervention
14 mai 2016
-
jordane45
Messages postés
27337
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 janvier 2020
-
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

Messages postés
27337
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 janvier 2020
322
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.


Ulrichleboss
Messages postés
511
Date d'inscription
dimanche 20 juillet 2008
Statut
Membre
Dernière intervention
14 mai 2016

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
Messages postés
27337
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 janvier 2020
322
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());
}


Ulrichleboss
Messages postés
511
Date d'inscription
dimanche 20 juillet 2008
Statut
Membre
Dernière intervention
14 mai 2016

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 ?
jordane45
Messages postés
27337
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 janvier 2020
322
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/
Messages postés
511
Date d'inscription
dimanche 20 juillet 2008
Statut
Membre
Dernière intervention
14 mai 2016

Ah oui en effet c'est pas bête j'avais pas penser à l'adresse MAC je vais étudier ça ;)