Heim > Backend-Entwicklung > PHP-Tutorial > PHP implementiert eine simulierte Anmeldefunktion

PHP implementiert eine simulierte Anmeldefunktion

墨辰丷
Freigeben: 2023-03-26 12:34:02
Original
1624 Leute haben es durchsucht

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)


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

<?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); ?>
Nach dem Login kopieren


2. Realisieren Sie die Kommunikation zwischen Client und Server über einen versteckten Iframe (kann bestimmte Sicherheitsrisiken mit sich bringen)


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

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

Nach dem Login kopieren


ceshi1.php


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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

Nach dem Login kopieren



Verwandte Empfehlungen:

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage