PHP锁屏功能
很久以前都有人向我说要在系统中添加一个锁屏功能,作用是当有客户来时,你又不想让客户看见你后台的数据,同时也不退出系统!解锁功能要输入密码后才能进入,那么有人问如果我刷新页面那应该怎么办呢?呵呵,对的,我们在点击锁屏的时候已经将密码的seesion清空,如果你刷新当然页面会跳转到登录页面。如果输入密码错误则提示,同时还要设置一个最大尝试次数3次。3次过后将设为等待一段时间再来登录。
这里有两个页面
[html]
<!doctype html>
<html>
<head>
<meta charset=utf-8 />
<title>PHP锁屏功能</title>
<script language="javascript" type="text/javascript" src="http://192.168.77.200/statics/js/jquery.min.js"></script>
</head>
<body>
<div id="dvLockScreen" class="ScreenLock" style="display:none">
<div id="dvLockScreenWin" class="inputpwd">
<h5><b class="ico ico-info"></b><span id="lock_tips">锁屏状态,请输入密码解锁</span></h5>
<div class="input">
<label class="lb">密码:</label><input type="password" id="lock_password" class="input-text" size="24">
<input type="submit" class="submit" value="»" name="dosubmit" onclick="check_screenlock();return false;">
</div></div>
</div>
<a href="javascript:;" onclick="lock_screen()"><img src="http://192.168.77.200/statics/images/icon/lockscreen.png"> 锁屏</a>
<script>
function lock_screen() {
$.get("sc.php?a=public_lock_screen");
$('#dvLockScreen').css('display','');
}
function check_screenlock() {
var lock_password = $('#lock_password').val();
if(lock_password=='') {
$('#lock_tips').html('<font color="red">密码不能为空。</font>');
return false;
}
$.get("sc.php?a=public_login_screenlock", { lock_password: lock_password},function(data){
alert(data);
if(data==1) {
$('#dvLockScreen').css('display','none');
$('#lock_password').val('');
$('#lock_tips').html('锁屏状态,请输入密码解锁');
} else if(data==0) {
$('#lock_tips').html('<font color="red">密码重试次数太多</font>');
} else {
//strings = data.split('|');
$('#lock_tips').html('<font color="red">密码错误,您还有'+data+'次尝试机会!</font>');
}
});
}
</script>
</body>
</html>
[/html]
第二个页面:
[php]
<?php
session_start();
//$_SESSION['max'] = 3;//最多密码尝试次数
if(!isset($_SESSION['max'])){
$_SESSION['max'] = 3;
}
/**
* 维持 session 登陆状态
*/
function public_session_life() {
$userid = $_SESSION['userid'];
return true;
}
//锁屏功能
function public_lock_screen(){
$_SEESION['lock_screen'] = 1;
}
function public_login_screenlock() {
if(empty($_GET['lock_password'])){
echo 1;//echo '请输入密码';
exit();
}else
//密码错误重试次数
if($_SESSION['max'] < 0){
//echo '请等等再来尝试';
echo 0;
exit();
}
if($_GET['lock_password'] <> 'admin123456'){
$_SESSION['max'] = $_SESSION['max'] - 1;
//echo '你还有 '.$_SESSION['max'].' 尝试的机会';
echo $_SESSION['max'];
exit();
}
}
if(@$_GET['a'] == 'public_lock_screen'){
public_lock_screen();
}elseif(@$_GET['a'] == 'public_login_screenlock'){
public_login_screenlock();
}
?>
[/php]
大体思路就是这样的,这个只是一个引导的设计思路还有缺限。
此文章下载
锁屏功能