PHP는 인증 코드를 고려하지 않고 시뮬레이션된 로그인을 구현합니다. 인터넷에서 제공되는 방법은 일반적으로 컬을 사용하여 구현을 시뮬레이션하는 것입니다. 그러나 컬은 서버와 서버 간의 세션을 구현하고 로그인을 얻을 수만 있습니다. 로그인 정보 데이터, 클라이언트에 쿠키 정보를 심는 것은 불가능하며(적어도 지금까지는 이를 찾을 수 있는 방법을 찾지 못했습니다) 마침내 숨겨진 iframe을 통해 달성했습니다. 이 기사는 주로 PHP에서 시뮬레이션된 로그인 기능의 간단한 구현을 소개하고, PHP에서 시뮬레이션된 로그인을 구현하기 위해 컬을 사용하는 관련 조작 기술을 포함합니다. 이 글이 모든 사람에게 도움이 되기를 바랍니다.
1. 컬은 로그인을 시뮬레이션하는 코드를 구현합니다(서버와 서버 간의 세션 설정만 구현하지만 실제로 클라이언트와 서버 간의 세션을 설정하지는 않습니다).
<?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); ?>
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>
관련 권장 사항:
Yii2 프레임워크는 로그인, 로그아웃 및 자동 로그인 기능을 구현합니다
PHP에서는 신규 사용자 등록 후 인증메일 활성화 및 로그인 기능 구현
위 내용은 PHP 단순 시뮬레이션 로그인 기능 예시 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!