Maison  >  Article  >  développement back-end  >  PHP implémente la fonction de connexion simulée

PHP implémente la fonction de connexion simulée

墨辰丷
墨辰丷original
2018-05-18 09:21:491566parcourir

Cet article présente principalement la fonction de connexion simulée de PHP, impliquant des techniques d'exploitation associées à l'utilisation de curl pour réaliser une connexion simulée en PHP. Les amis dans le besoin peuvent s'y référer

Les détails sont les suivants :

Non Considérez la situation 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. et obtenir les données après la connexion. Il ne peut pas placer les informations de cookie sur le client (du moins, je n'ai pas trouvé de moyen de le faire jusqu'à présent) et enfin les implémenter via une iframe cachée.

1. curl implémente le code de connexion simulée (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); ?>


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>


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>



Recommandations associées :

Exemple d'implémentation de la fonction de connexion simulée php

Comment utiliser curl pour simuler la connexion et capturer le contenu de la page à l'aide curl

PHP simule la connexion à MSN et obtient des informations utilisateur_Tutoriel PHP



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