日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > 用PHP模擬登陸

用PHP模擬登陸

來源:程序員人生   發布時間:2014-01-05 17:09:56 閱讀次數:2849次

經常會有人問模擬登陸的問題,其實原理很簡單,只要把SessionID保存下來就可以了,今天花了一個小時的時間寫了一個函數,供大家參考,網站返回的頭信息,具體網站具體分析,源代碼:

  1. <?php 
  2. /* 
  3. * 得到網頁內容 
  4. * 參數:$host [in] string 
  5. * 主機名稱(例如: www.etoow.com) 
  6. * 參數:$method [in] string 
  7. * 提交方法:POST, GET, HEAD ... 并加上相應的參數( 具體語法參見 RFC1945,RFC2068 ) 
  8. * 參數:$str [in] string 
  9. * 提交的內容 
  10. * 參數:$sessid [in] string 
  11. * PHP的SESSIONID 
  12. * 
  13. * @返回 網頁內容 string 
  14. */ 
  15. function GetWebContent($host$method$str$sessid = ''
  16. $ip = gethostbyname($host); 
  17. $fp = fsockopen($ip, 80); 
  18. if (!$fpreturn
  19. fputs($fp"$methodrn"); 
  20. fputs($fp"Host: $hostrn"); 
  21. if (!emptyempty($sessid)) 
  22. fputs($fp"Cookie: PHPSESSID=$sessid; path=/;rn"); 
  23. if ( substr(trim($method),0, 4) == "POST"
  24. fputs($fp"Content-Length: "strlen($str) . "rn"); // 別忘了指定長度 
  25. fputs($fp"Content-Type: application/x-www-form-urlencodedrnrn"); 
  26. if ( substr(trim($method),0, 4) == "POST"
  27. fputs($fp$str."rn"); 
  28. while(!feof($fp)) 
  29. $response .= fgets($fp, 1024); 
  30. $hlen = strpos($response," "); // LINUX下是 " " 
  31. $header = substr($response, 0, $hlen); 
  32. $entity = substr($response$hlen 4); 
  33. if ( preg_match('/PHPSESSID=([0-9a-z] );/i'$header$matches)) 
  34. $a['sessid'] = $matches[1]; 
  35. if ( preg_match('/Location: ([0-9a-z_?=&#.] )/i'$header$matches)) 
  36. $a['location'] = $matches[1]; 
  37. $a['content'] = $entity
  38. fclose($fp); 
  39. return $a
  40.  
  41. /* 構造用戶名,密碼字符串 */ 
  42. $str = ("username=test&password=test"); 
  43. $response = GetWebContent("localhost","POST /login.php HTTP/1.0"$str); 
  44. echo $response['location'].$response['content']."<br>"
  45. echo $response['sessid']."<br>"
  46. if ( preg_match('/error.php/i',$response['location'])) 
  47. echo "登陸失敗<br>"
  48. else { 
  49. echo "登陸成功<br>"
  50. // 不可以訪問user.php,因為不帶sessid參數 
  51. $response = GetWebContent("localhost","GET /user.php HTTP/1.0"''''); 
  52. echo $response['location']."<br>"// 結果:error.php?errcode=2 
  53.  
  54. // 可以訪問user.php 
  55. $response = GetWebContent("localhost","GET /user.php HTTP/1.0"''$response['sessid']); 
  56. echo $response['location']."<br>"// 結果:user.php 
  57. ?> 
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 日韩精品久久一区二区三区 | 国产福利在线视频 | 精品高清视频 | 久久精品免费 | 久久国产精品免费视频 | 国产高清久久 | 亚洲精品影院 | 中文字幕亚洲天堂 | 欧美精品乱码久久久久久 | 国产精品久久久久久久久久久久冷 | 国产精品美女一区二区三区 | 久久久久久久久久国产 | 日韩精品免费一区二区三区 | 久久久久91视频 | 激情久久av | 亚洲一区视频 | 中文字幕国产视频 | 国产视频久久久久 | 婷婷综合五月天 | 精品一区二区三区日本 | 亚欧洲精品视频在线观看 | 天堂男人av | 日批视频免费观看 | 成人教育av| 黄色大片网站视频 | 高清不卡一区二区三区 | 99精品全国免费观看视频软件 | 一级片自拍 | 成人久久| 99精品视频免费在线观看 | 欧美日韩国产在线一区 | 成人免费a视频 | 涩涩视频免费观看 | 免费av网站在线 | 成人精品一区二区三区视频播放 | 精品一区二区久久久久久久网站 | 国产成人免费视频网站视频社区 | 日韩一级黄色片 | 亚州三级 | 亚洲乱码国产乱码精品精 | 久久久国产精品免费 |