Heim  >  Artikel  >  Backend-Entwicklung  >  Beispielfreigabe einer einfachen PHP-simulierten Anmeldefunktion

Beispielfreigabe einer einfachen PHP-simulierten Anmeldefunktion

小云云
小云云Original
2018-01-10 17:23:275417Durchsuche

PHP implementiert die simulierte Anmeldung im Allgemeinen, um die Implementierung zu simulieren. Curl implementiert jedoch nur eine Sitzung zwischen dem Server und Für nachfolgende Daten können die Cookie-Informationen nicht auf dem Client platziert werden (zumindest habe ich bisher keine Möglichkeit gefunden, dies zu tun) und ich habe es schließlich über einen versteckten Iframe erreicht. In diesem Artikel wird hauptsächlich die einfache Implementierung der simulierten Anmeldefunktion in PHP vorgestellt und die damit verbundenen Bedienfähigkeiten zur Implementierung der simulierten Anmeldung in PHP behandelt. Freunde, die sie benötigen, können darauf zurückgreifen.

1. Curl implementiert den Code, um die Anmeldung zu simulieren (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>

Verwandte Empfehlungen:

Yii2-Framework implementiert Anmelde-, Abmelde- und automatische Anmeldefunktionen

Anmeldefunktion für den Thinkphp-Bestätigungscode Implementierungsbeispiel

PHP implementiert die Bestätigungs-E-Mail-Aktivierung und Anmeldefunktion nach der Registrierung eines neuen Benutzers

Das obige ist der detaillierte Inhalt vonBeispielfreigabe einer einfachen 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