Heim  >  Artikel  >  Backend-Entwicklung  >  Implementierungsbeispiel einer PHP-simulierten Anmeldefunktion

Implementierungsbeispiel einer PHP-simulierten Anmeldefunktion

黄舟
黄舟Original
2017-09-16 09:35:511583Durchsuche

In diesem Artikel wird hauptsächlich die einfache Implementierung der simulierten Anmeldefunktion in PHP vorgestellt und die damit verbundenen Bedienfähigkeiten von PHP mithilfe von Curl zur Erzielung einer simulierten Anmeldung erläutert. Freunde in Not können sich darauf beziehen.

Das Beispiel hierfür Der Artikel beschreibt die einfache Implementierung der simulierten Anmeldefunktion in PHP. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Ohne Berücksichtigung des Bestätigungscodes implementiert PHP die simulierte Anmeldung. Die im Internet angegebene Methode besteht im Allgemeinen darin, Curl zu verwenden, um die Implementierung zu simulieren, aber Curl implementiert Die Serverseite und die Sitzung werden auf der Serverseite eingerichtet und können nur die Anmeldung simulieren und die Daten nach der Anmeldung abrufen. Die Cookie-Informationen können nicht auf dem Client platziert werden (zumindest habe ich keine Möglichkeit gefunden, dies zu finden). weit). Endlich kann ich es durch einen versteckten Iframe erreichen.

1. Curl implementiert den Code für die simulierte Anmeldung (es implementiert nur den Aufbau einer Sitzung zwischen dem Server und dem Server, baut jedoch nicht tatsächlich eine Sitzung zwischen dem Client und dem Server auf)


<?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. Realisieren Sie die Kommunikation zwischen Client und Server über einen versteckten Iframe (kann bestimmte Sicherheitsrisiken mit sich bringen)


<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>

Das obige ist der detaillierte Inhalt vonImplementierungsbeispiel einer PHP-simulierten Anmeldefunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn