首頁 > 後端開發 > php教程 > PHP簡單實作模擬登陸

PHP簡單實作模擬登陸

巴扎黑
發布: 2023-03-16 09:06:01
原創
1868 人瀏覽過

這篇文章主要介紹了PHP簡單實現模擬登陸功能,涉及php使用curl實現模擬登陸的相關操作技巧,需要的朋友可以參考下

本文實例講述了PHP簡單實現模擬登陸功能。分享給大家供大家參考,具體如下:

在不考慮驗證碼的情況一下,php實現模擬登陸,網上給的辦法一般是採用curl來模擬實現,但是curl實現的是伺服器端與伺服器端建立了會話,只能模擬登陸之後獲取登陸之後的數據,無法將cookie資訊種植到客戶端(至少目前本人查找沒有找到辦法)最後自己透過隱藏的iframe來實現。

1、curl實作模擬登陸的程式碼,(只是實作伺服器與伺服器建立會話,其實並沒有在客戶端與伺服器之間建立會話)


<?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); ?>
登入後複製

2、透過隱藏的iframe實現客戶端與伺服器端的通訊(肯能帶來一定的安全隱患)


<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>
登入後複製

以上是PHP簡單實作模擬登陸的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板