Cet article présente principalement l'implémentation simple de la fonction de connexion simulée en PHP et implique les compétences opérationnelles associées de PHP utilisant curl pour réaliser une connexion simulée. Les amis dans le besoin peuvent s'y référer
L'exemple de ceci. L'article raconte l'implémentation simple de la fonction de connexion simulée en PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Sans tenir compte du code de vérification, PHP implémente une connexion simulée. La méthode donnée sur Internet consiste généralement à utiliser curl pour simuler l'implémentation, mais curl implémente. côté serveur et la session est établie côté serveur, et elle ne peut que simuler la connexion et obtenir les données après la connexion. Elle ne peut pas placer les informations de cookie sur le client (du moins, je n'ai pas trouvé de moyen de les trouver). loin). Enfin, je peux y parvenir grâce à une iframe cachée.
1. curl implémente le code de connexion simulée (il implémente uniquement l'établissement d'une session entre le serveur et le serveur, mais n'établit pas réellement de session entre le client et le serveur)
<?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. Réaliser la communication entre le client et le serveur via une iframe cachée (peut entraîner certains risques de sécurité)
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!