In diesem Artikel wird hauptsächlich die simulierte Anmeldefunktion von PHP vorgestellt, einschließlich verwandter Betriebstechniken zur Verwendung von Curl zur Realisierung einer simulierten Anmeldung in PHP. Freunde in Not können sich darauf beziehen
Die Details lauten wie folgt:
Nein. Bedenken Sie, dass PHP eine simulierte Anmeldung verwendet. Die im Internet angegebene Methode besteht jedoch darin, eine Sitzung zwischen dem Server und dem Server zu simulieren und die Daten nach der Anmeldung abrufen. Es ist nicht möglich, die Cookie-Informationen auf dem Client zu platzieren (zumindest habe ich bisher keine Möglichkeit gefunden, dies zu tun) und sie schließlich über einen versteckten Iframe zu implementieren.
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>
Beispiel für die Implementierung der PHP-simulierten Anmeldefunktion
So verwenden Sie Curl zum Crawlen von Seiteninhalten mithilfe der PHP-simulierten Anmeldung
PHP simuliert die Anmeldung bei MSN und ruft Benutzerinformationen ab_PHP-Tutorial
Das obige ist der detaillierte Inhalt vonPHP implementiert eine simulierte Anmeldefunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!