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

Ulrichleboss 511 Messages postés dimanche 20 juillet 2008Date d'inscription 14 mai 2016 Dernière intervention - 18 juil. 2014 à 12:09 - Dernière réponse : jordane45 22579 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention
- 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 !
Afficher la suite 

Votre réponse

6 réponses

jordane45 22579 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention - 18 juil. 2014 à 12:13
0
Merci
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 511 Messages postés dimanche 20 juillet 2008Date d'inscription 14 mai 2016 Dernière intervention - 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
Commenter la réponse de jordane45
jordane45 22579 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention - 18 juil. 2014 à 14:21
0
Merci
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 511 Messages postés dimanche 20 juillet 2008Date d'inscription 14 mai 2016 Dernière intervention - 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 ?
jordane45 22579 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention - 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/
Commenter la réponse de jordane45
Ulrichleboss 511 Messages postés dimanche 20 juillet 2008Date d'inscription 14 mai 2016 Dernière intervention - 18 juil. 2014 à 16:25
0
Merci
Ah oui en effet c'est pas bête j'avais pas penser à l'adresse MAC je vais étudier ça ;)
Commenter la réponse de Ulrichleboss

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.