您的位置:首页 > 编程语言 > PHP开发

PHP框架学习

2016-08-15 18:01 260 查看
加密:

偶然看了下公司应用的程序是怎么加密的,因为之前对加密有了解过,不过我觉得这种加密还是有缺陷的,应该设置成不可逆

<span style="font-size:18px;">$data['slat'] = substr(md5(uniqid("s")), 3, 6);
$data['pwd'] = md5($data['slat'] . $pwd);

$this->M("user")->where("id", $uid)->edit($data);</span>
以加前缀的时间id串取指定字符串,作为验证,然后在加密一次

相应的解密即是
<span style="font-size:18px;">$user = $this->M("user")->where($field, $username)->getsone();

if (md5($user->slat . $passwd) == $user->pwd) {

$this->session->set("username", $user->username);
$this->session->set("uid", $user->id);
messageBox("登录成功", '/manager.php/index/setting/', 1);
}</span>
感觉这种加密不是太理想,slat取6值的话,也容易被破。

SP框架

登录url为manager.php/user/login

访问template目录下的manager

<span style="font-size:18px;">define("SCRIPT", "manager");//指定在框架中访问controller路径

而template在SP/Core/main.class.php文件下
$f = WEB_ROOT . 'template/' . SCRIPT . '/' . SP_MOD . '/' . SP_ACTION . '.htm';</span>


入口在manager.php,首先访问template界面,而controller内manager下C_index.php控制每个界面值的部分,对应groups函数,在界面点击后执行此函数,通过model目录下的groups.php映射数据库表中的值,执行完groups函数之后,将lists集合等参数通过display传递到groups界面中进行赋值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: