>  기사  >  백엔드 개발  >  사용자가 불법적으로 백그라운드에 로그인하는 것을 방지하기 위해 PHP에서 세션을 사용하는 방법에 대한 자세한 설명

사용자가 불법적으로 백그라운드에 로그인하는 것을 방지하기 위해 PHP에서 세션을 사용하는 방법에 대한 자세한 설명

z老师
z老师원래의
2016-05-16 20:24:281650검색

사용자가 불법적으로 백그라운드에 로그인하는 것을 방지하기 위해 PHP에서 세션을 사용하는 방법에 대한 자세한 설명

일반적으로 웹사이트의 백엔드에 로그인을 하면 서버는 로그인 정보를 세션 파일에 저장하고 세션을 읽어 백엔드 작업을 수행할 수 있는지 여부를 결정합니다. 파일.

다음을 예로 들어 보겠습니다. admin.php가 백그라운드 작업 페이지이고 세션이 활성화되지 않은 경우 사용자가 로그인하지 않아도 이 시점에서 사용자는 계속 페이지에 액세스할 수 있습니다. 사용자가 이 페이지에 불법적으로 로그인하는 것을 방지하려면 세션을 사용해야 합니다.

3개 파일의 코드는 다음과 같습니다. login.php

코드는

<h2>用户登录页面</h2>
<form action="loginProcess.php" method="post">
用户名:<input type="text" name="username"><br />
密  码:<input type="password" name="pwd"><br />
<input type="submit" name="sub" value="登录后台">
</form>
<?php
if(!empty($_GET[&#39;errno&#39;])){
 if($_GET[&#39;errno&#39;]==1){
  echo "用户名或密码错误";
 }else if($_GET[&#39;errno&#39;]==2){
  echo "请输入用户名密码";
 }else if($_GET[&#39;errno&#39;]==3){
  echo "非法访问,请输入用户名和密码";
 }
}
?>

로그인 정보 처리 페이지입니다. loginProcess.php

코드는 다음과 같습니다.

<?php
//这里主要讲session,关于登录信息验证,就不涉及到数据库了
//接收登录信息,保存session
if(!empty($_POST[&#39;sub&#39;])){
 if($_POST[&#39;username&#39;]=="admin" && $_POST[&#39;pwd&#39;]=="admin"){
  echo "登录成功";
  session_start();//开启session
  $_SESSION[&#39;username&#39;] = $_POST[&#39;username&#39;];//将登录名保存到session中
  header("Location: admin.php");
  exit();
 }else{
  header("Location: login.php?errno=1");
  exit();
 }
}else{
 header("Location: login.php?errno=2");
 exit();
}
?>

백엔드 파일:admin.php

코드는 다음과 같습니다.

<?php
session_start();
if(empty($_SESSION[&#39;username&#39;])){
 header("Location: login.php?errno=3");
 exit();
}
echo "你是管理员,你现在拥有后台管理权限";
?>

관련 주제 추천: php 세션 (사진, 텍스트, 동영상, 사례 포함)

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