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('./tmp','cookie'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://192.168.0.22/logincheck.php'); curl_setopt($ch, CURLOPT_POST, 1); $request = 'UNAME=admin&PASSWORD=123456'; 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, 'http://192.168.0.22/general/'); 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 '<pre class="brush:php;toolbar:false">'; echo strip_tags($orders); echo ''; 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!