使用PHP实现的最简洁快速的登录访问控制技术
个人做产品,和公司不一样。公司由于管理层级的压制,部门之间责任推卸等因素,导致产品效率很低,并且一般不敢或者不可以使用快速简单的实现方法。相反的,如果是个人做产品,时间比较紧的时候,在某些时候适当的使用一些临时处理方案是很好的选择。
比如,我们做的某个系统,或者某个系统的某些部分临时需要进行访问控制。在很短的时间内搭建用户系统,实现密码控制太累,也非常的傻逼。可以通过文件,Cookie 实现快速的访问控制,一般一个系统使用的人也就只有一个人,这样做也算是比较好的解决方案了。
下面的 PHP 函数实现了简单的访问控制,算是非常的精炼了。笔者看过很多的开源系统也大都是这样的类似的实现方式。分享代码如下:
<?php function isLogin() { $passwd = 'leiminglin'; $time = time(); $expire_time = $time+86400*2; $domain = 'webchat.lmlphp.com'; $salt = 'lmlphp'; $token_name = 'lmlphp_token'; $input_name = 'lmlphp_passwd'; if (isset($_POST[$input_name]) && $_POST[$input_name] == $passwd) { setcookie($token_name, md5($passwd.$salt.$time).'_'.$time, $expire_time, '/', $domain); return true; } if (!isset($_COOKIE[$token_name])) { echo '<form method="post" action="">'. 'passwd: <input type="password" name="'.$input_name.'"/>'. '<input type="submit" value="Submit"/>'. '</form>'; return false; } else { $arr = explode('_', $_COOKIE[$token_name]); if(count($arr) != 2 || $_COOKIE[$token_name] != md5($passwd.$salt.$arr[1]).'_'.$arr[1]) { return false; } } return true; }
暂无