この記事では、主に PHP での模擬ログイン機能の簡単な実装を紹介し、模擬ログインを実現するために、curl を使用した PHP の関連操作スキルについても説明します。必要な方は参考にしてください。
この記事の例では、次の簡単な実装について説明します。 PHP のシミュレートされたログイン関数。参考までに皆さんと共有してください。詳細は次のとおりです。
検証コードを考慮せずに、PHP で模擬ログインを実装する方法は、一般に、curl を使用して実装をシミュレートすることですが、curl はサーバー側で実装します。サーバー側の確立はログインをシミュレートすることしかできず、ログイン後のデータを取得することはできません(少なくとも私はこれを見つける方法をまだ見つけていません)。非表示の iframe。
1. Curl は、シミュレートされたログイン用のコードを実装します (サーバーとサーバー間のセッションの確立のみを実装しますが、実際にはクライアントとサーバー間のセッションは確立しません)。非表示の iframe を介したクライアントとサーバーのエンドツーエンド通信 (特定のセキュリティ リスクをもたらす可能性があります)
<?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); ?>
ceshi1.php
<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>
以上がPHP はシミュレートされたログインを実装するだけですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。