昨天没有午休,搞了一下午居然没搞明白,今天半个小时搞定了,看来还是早上效率高,看了午休还是必须的
进入正题,有注册系统的网站当然必须有安全机制 ,概述如下
1.登陆 需要检测用户的合法性
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<?php session_start(); include("conn/conn.php");?>
<?php
function clearSession(){//清楚SESSION方法
session_start(); //启动会话
session_unset(); //删除会话
session_destroy(); //结束会话
}
$username=$_POST['username'];
$password=$_POST['password'];
$auth='common';
$res=mysql_query("select password,auth from userinfo where username='$username'");
if($row=mysql_fetch_array($res)){
$base_password=$row[0];
$base_auth=$row[1];
if($base_password==$password){
echo "登陆成功!";
$url = "main.php"; //可以写成一句,但是这样比较符号html的 结构
echo "<script language='javascript'type='text/javascript'>";
echo "window.location.href='$url'";
echo "</script>";
$_SESSION['username'] = $username;//注册username的SESSION
}else{
clearSession();//如果有SESSION也要清除
echo "密码错误!";
echo "<script language='javascript'>alert(\"密码错误!!\");</script>";
$url = "login.html";
echo "<script language='javascript'type='text/javascript'>";
echo "window.location.href='$url'";
echo "</script>";
}
}else{
clearSession();
echo "用户名不存在!";
echo "<script language='javascript'>alert(\"用户名不存在!!\");</script>";
$url = "login.html";
echo "<script language='javascript'type='text/javascript'>";
echo "window.location.href='$url'";
echo "</script>";
}
?>
2.在主页要检测是否登陆过,其实就是检测上面的username是否存在(当然也可以是密码+用户名),这个文件只要使用include 放到想要检测登陆的页面就可以了
<?php
session_start();
if($_SESSION[username]==""){
echo "<script>alert('请登录!');window.location.href='login.html';</script>";
}
?>
使用:<?php session_start();include "check_login.php";?>
3.如果要执行退出 那么先执行
<?php
session_start(); //启动会话
session_unset(); //删除会话
session_destroy(); //结束会话
header("location:login.html");
?>
删除SESSION ,跳转到login.html
这个只是简单的实现 ,估计真正的应用网站应该不会这么简单 ,这样的安全机制太容易攻破,好一点的方法是在检查登陆那里 实现查询数据库的操作,当然这样就要耗费cpu资源了
分享到:
相关推荐
运用struts2的拦截器技术实现的页面检测拦截非法用户饿坏指定用户注册。。。
自定义拦截器的实现以及拦截器的详细配置,配置文件里面有特别详细的注释,希望对刚接触拦截器的同学有帮助
拦截器实现原理 代码和分析,详细介绍了拦截器原理
SSM登陆验证之拦截器实现,未登录用户访问首页自动拦截跳转到登陆页面,注释清楚,代码简洁,适合初学者。图文操作路径:https://blog.csdn.net/qq_16206321/article/details/81035798
企业级开发-SpringMVC使用拦截器实现用户登录权限验证实验报告
java 动态代理实现的 拦截器 ,绝对可用
基于ssm框架的java拦截器实现,对于新人的学习有较大帮助
struts2 用拦截器 实现用户权限登录 可以直接运行,只单单用到struts的东西。
该压缩包实现了利用过滤器或者拦截器对登录信息进行验证跳转登陆页的功能,利用的是SpringBoot和thymeleaf,使用前请先看使用说明
使用mybatis的拦截器功能实现分页操作,使分页代码在整个项目中通用,减少代码冗余。
SpringBoot 简单登录功能 拦截器实现。 在实际开发中,我们经常会遇到某些页面需要登录才能查看的情况。下面使用拦截器实现该功能,在用户没有登录的情况下,将网站的所有访问都指向登录页面。 Springboot 登录
简单的通过SSM技术利用拦截器实现登录拦截,
本文根据java代理实现CXF拦截器异常时只能进入fault拦截器而不能继续向下执行的问题。 利用java代理让RMI具有拦截器的功能。
主要给大家介绍了关于mybatis拦截器实现通用权限字段添加的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mybatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
Struts2拦截器实现权限控制demo,我感觉对初学者还是有一定帮助的
理解拦截器 1.1. 什么是拦截器: 拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。 在Webwork的中文文档的解释...
拦截器实现权限管理,没与数据库交互,不过原理差不多了
拦截器是Struts2框架的核心组成部分,通过本章的学习,应该掌握如下知识点: 了解AOP设计思想。 能够使用AOP设计思路,分离横切关注点 掌握Java中提供的动态代理方式实现拦截 了解拦截在开发中的意义 掌握Struts2...
struts2 实现增删改查。源码 struts2 实现增删改查。以及拦截器的功能实现源码
springboot spring aop 拦截器 注解方式实现脱敏(涉及到:pom.xml -->application.properties --->启动类-->拦截器)