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

PHP는 단순히 시뮬레이션된 로그인을 구현합니다.

巴扎黑
巴扎黑원래의
2017-09-18 10:10:331859검색

이 글은 주로 PHP에서 시뮬레이션된 로그인 기능의 간단한 구현을 소개하며, 시뮬레이션된 로그인을 달성하기 위해 컬을 사용하는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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