Maison > développement back-end > tutoriel php > Partage d'exemples de fonctions de connexion simulées simples PHP

Partage d'exemples de fonctions de connexion simulées simples PHP

小云云
Libérer: 2023-03-19 12:42:01
original
5467 Les gens l'ont consulté

Sans tenir compte du code de vérification, PHP implémente une connexion simulée. La méthode donnée sur Internet consiste généralement à utiliser curl pour simuler l'implémentation. Cependant, curl implémente une session entre le serveur et le serveur. obtenir la connexion. Pour les données ultérieures, les informations du cookie ne peuvent pas être implantées sur le client (du moins, je n'ai pas trouvé de moyen de le faire jusqu'à présent) et je l'ai finalement réalisé via une iframe cachée. Cet article présente principalement l'implémentation simple de la fonction de connexion simulée en PHP et implique les compétences opérationnelles associées à l'utilisation de curl pour implémenter la connexion simulée en PHP. Les amis qui en ont besoin peuvent s'y référer. J'espère que cela pourra aider tout le monde.

1. curl implémente le code pour simuler la connexion (il implémente uniquement l'établissement d'une session entre le serveur et le serveur, mais n'établit pas réellement de session entre le client et le serveur)


<?php
$cookie_jar = tempnam(&#39;./tmp&#39;,&#39;cookie&#39;);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, &#39;http://192.168.0.22/logincheck.php&#39;);
curl_setopt($ch, CURLOPT_POST, 1);
$request = &#39;UNAME=admin&PASSWORD=123456&#39;;
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
//把返回来的cookie信息保存在$cookie_jar文件中
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
//设定返回的数据是否自动显示
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//设定是否显示头信息
curl_setopt($ch, CURLOPT_HEADER, false);
//设定是否输出页面内容
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_exec($ch);
curl_close($ch);
//get data after login
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, &#39;http://192.168.0.22/general/&#39;);
curl_setopt($ch2, CURLOPT_HEADER, false);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch2, CURLOPT_COOKIEFILE, $cookie_jar);
$orders = curl_exec($ch2);
echo $orders;
exit;
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
echo strip_tags($orders);
echo &#39;
'; curl_close($ch2); ?>
Copier après la connexion

2. Réaliser la communication entre le client et le serveur via une iframe cachée (peut entraîner certains risques de sécurité)


<html>
<title></title>
<body>
<?
$goURL="http://192.168.0.22/general/email/";
?>
<iframe name="hiddenLoginFrame" onload="get_pass()" src="ceshi1.php"  id="hiddenLoginFrame" width=0 height=0 frameborder=0 scrolling=no style="display:none;">
</iframe>
<script Language="JavaScript">
  function get_pass()
  {
    window.open("<?=$goURL ?>");
    window.close();
  }
</script>
</body>
</html>
Copier après la connexion

ceshi1 .php

<html>
<head>
  <title>ceshi</title>
</head>
<body onload="get_pass1();">
<form name="form1" method="post" target="hiddenLoginFrame" action="http://192.168.0.22/logincheck.php">
  <input type="text" value="admin" name="UNAME">
  <input type="text" value="123456" name="PASSWORD">
</form>
</body>
<script Language="JavaScript">
  function get_pass1()
  {
    //document.form1.action=u_url;
    document.form1.submit();
  }
</script>
</html>
Copier après la connexion

Recommandations associées :

Le framework Yii2 implémente les fonctions de connexion, de déconnexion et de connexion automatique

fonction de connexion par code de vérification thinkphp exemple d'implémentation

PHP implémente la fonction d'activation et de connexion par e-mail de vérification après l'enregistrement d'un nouvel utilisateur

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal