>  기사  >  백엔드 개발  >  PHP는 시뮬레이션된 로그인 기능을 구현합니다.

PHP는 시뮬레이션된 로그인 기능을 구현합니다.

墨辰丷
墨辰丷원래의
2018-05-18 09:21:491512검색

이 글은 주로 PHP의 시뮬레이션 로그인 기능을 소개하며, PHP에서 시뮬레이션 로그인을 구현하기 위해 컬을 사용하는 관련 조작 기술이 필요합니다. 도움이 필요한 친구는 이를 참고할 수 있습니다.

자세한 내용은 다음과 같습니다.

인증 코드를 고려하지 않고, PHP는 시뮬레이션 로그인을 구현합니다. 인터넷에서 제공되는 방법은 일반적으로 구현을 시뮬레이션하기 위해 컬을 사용하는 것이지만, 컬이 구현하는 것은 서버 측이 서버 측과 세션을 설정한다는 것입니다. 로그인 후 데이터를 얻을 수만 있습니다. , 클라이언트에 쿠키 정보를 심을 수 없습니다. (적어도 현재로서는 방법을 찾지 못했습니다.) 마지막으로 숨겨진 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는 MSN에 대한 로그인을 시뮬레이션하고 사용자 정보를 얻습니다_PHP 튜토리얼



위 내용은 PHP는 시뮬레이션된 로그인 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.