Maison  >  Article  >  développement back-end  >  Exemple de code PHP pour réaliser que le compte membre ne peut se connecter que de manière unique

Exemple de code PHP pour réaliser que le compte membre ne peut se connecter que de manière unique

不言
不言original
2018-08-18 17:24:393647parcourir

Le contenu de cet article concerne l'exemple de code PHP pour réaliser que les comptes membres ne peuvent être connectés que de manière unique. Il a une certaine valeur de référence. J'espère que cela vous sera utile.

Reproduction de la scène

Le même compte membre est limité à une connexion unique sur le même appareil (ordinateur, téléphone portable, Ipad, etc.). Après une connexion répétée, la connexion d'origine. La page passera directement à la page de connexion et devra se reconnecter pour y accéder normalement.

Analyse des principes

Une fois que le compte A s'est connecté à l'ordinateur A et que le compte A s'est reconnecté avec l'ordinateur B, lorsque l'ordinateur A demande la page, il affiche un message « Reconnectez-vous », et accédez à la page de connexion

Analyse de l'idée :

Une fois le compte A connecté sur l'ordinateur A, écrivez l'ID de SESSION dans le fichier TXT et effectuez une vérification à chaque accès à la page ( comparer le fichier txt est la même que la valeur de la session_id actuellement connectée)

Exemple

1 Entrée et vérification (index.php)

<?php
session_start();
$uid = 10;
if(is_login($uid)){
 header(&#39;location:loginSuccess.php&#39;);
}else{  $
getLogSessionId = file_get_contents(&#39;session_log/&#39;.$uid.&#39;.txt&#39;);  
if($getLogSessionId){    
echo "已在其他地方登录,请重新登录";    
echo "<br>";   
 echo "5秒后跳转到登录页面!";
    header("refresh:5;url=login.php");
  }else{    
  echo &#39;第一次登录...&#39;;    
  echo "<br>";    
  echo "3秒钟后跳转到登录页面!";
    header("refresh:3;url=login.php");
  }
}
/**
* 通过登录时写入文件session_id和当前登录设备后生成的session_id进行比较,相同则是同一台设备登录,不同则在别的地方登录
*/
function is_login($uid){
  $getLogSessionId = file_get_contents(&#39;session_log/&#39;.$uid.&#39;.txt&#39;);  
  if($getLogSessionId == session_id()){    
  return true;
  }else{   
   return false;
  }
}

2. Connexion (login.php)

<?php
session_start();
echo "登录中....";echo &#39;<br>&#39;;
$uid = 10;
file_put_contents(&#39;session_log/&#39;.$uid.&#39;.txt&#39;,session_id());
echo "登录完成";

3. Connexion réussie (loginSuccess.php)

<?phpecho "我登录成功了!";

4. Enregistrez le dossier sessionId (session_log) et testez le code. créez-en un manuellement ou accordez des autorisations pour générer automatiquement des fichiers

Recommandations associées :

bootstrap php pour implémenter une connexion simple, connexion phpbootstrap

connexion simulée php php tutoriel de connexion simulée curl

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn