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('./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>
Verwandte Empfehlungen:
Yii2-Framework implementiert Anmelde-, Abmelde- und automatische Anmeldefunktionen
Anmeldefunktion für den Thinkphp-Bestätigungscode Implementierungsbeispiel
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!