打造刀郎安全PHP系统 · 续

栏目: PHP · 发布时间: 6年前

内容简介:最近某某酒店火了一把,动不动就开始脱裤子,很吓人啊,从自己打造安全的角度出发,我觉得最大问题是程序员参差不齐,还有就是老板压得太狠,功能都实现不完,哪有时间加固网站安全啊!由于网站功能太多,实现太复杂,难免会有sql注入,那么怎么防范?我想到的方法是用户信息和网站数据信息分开处理,也就是放到不同机器的不同数据库中,先看看下面的图,我再根据图来讲解。

前言

上一期给大家讲述了如何打造刀郎安全 PHP 系统【传送门】,本期我们继续。

最近某某酒店火了一把,动不动就开始脱裤子,很吓人啊,从自己打造安全的角度出发,我觉得最大问题是 程序员 参差不齐,还有就是老板压得太狠,功能都实现不完,哪有时间加固网站安全啊!由于网站功能太多,实现太复杂,难免会有 sql 注入,那么怎么防范?

实现原理

我想到的方法是用户信息和网站数据信息分开处理,也就是放到不同机器的不同数据库中,先看看下面的图,我再根据图来讲解。

打造刀郎安全PHP系统 · 续

防范分为二部分

第一部分:用户网站,也就是程序员开发功能和实现的代码部分,也是最容易出现sql注入的部分;

第二部分:授权系统,这里就是我们需要重点保护的地方,由于功能单一,实现部分也简单,做安全比较容易。

建议这二部分分二台机器部署,当有用户注册和登陆的时候,用户网站会跳转到授权系统,进行验证,验证完成后,再跳转到用户网站,这样的好处就是当用户网站出现sql注入或者上传漏洞的时候不会威胁到用户数据库的安全。

实现代码

1.打造授权系统

写了一个简单的例子,一共5个文件(login.html,login.php,reg.html,reg.php,valid_login.php),

login.html,login.php

是登陆部分,login.html是前端表单的实现,login.php是后端接收数据的处理;

reg.html,reg.php 

是注册部分,reg.html是前端表单的实现,reg.php是后端接收数据的处理;

valid_login.php

验证用户网站发送过来的授权码是否有效。

1.1 reg.php的实现

打造刀郎安全PHP系统 · 续

接收到用户名的密码后,先比较一下密码是否一致,如果一致,直接用base64进行加密,

打造刀郎安全PHP系统 · 续

加密完成以后,查询一下用户名是否已经存在,不存在插入加密的base64用户名和密码信息,再跳转到授权系统的登陆页面。

1.2 login.php的实现

打造刀郎安全PHP系统 · 续

接收登陆的账号和密码去掉空格用base64加密一次,再到数据库取查询。

打造刀郎安全PHP系统 · 续

如果账号和密码匹配,我们就生成授权码(base64加密一下)并且当前的时间,他们更新到数据库中,同时跳转到用户网站127.0.0.1中去(这里的授权码和用户名是没有加密的)。

1.3 valid_login.php的实现

打造刀郎安全PHP系统 · 续 用接收到用户网站发送过来的用户名和授权码的时候,我们给授权码和用户名用base64加密一下,再到数据库中查询一下,当然这里还有时间字段没有实现,大家自己写代码,如果匹配正常就返回用户的信息,比如用户是否有效,用户名,用户等级。

2.用户网站授权部分实现

接收到授权系统发送过来的授权码和原始用户名后,开始验证授权码和用户名是否有效。

2.1 is_login.php的实现

打造刀郎安全PHP系统 · 续 把用户名和授权码发送到授权系统127.0.0.1(这里我是一台开发机器所以授权系统和用户网站的地址一致)valid_login.php页面中去验证一下,授权系统的valid_login.php会返回一个json,我们判断jison返回valid的值, 就知道用户的合法性 valid=1表示用户有效,valid=0 表示用户无效,sid是用户的等级,管理员还是普通用户。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

开发高质量PHP框架与应用的实际案例解析

开发高质量PHP框架与应用的实际案例解析

Sebastian Bergmann / 刘文瀚、刘海燕 / 清华大学出版社 / 2012-6 / 49.00元

PHP已经成为最受欢迎的编程语言之一,这使得用PHP创建高质量、易维护的应用程序和框架比以往受到更多的青睐。通过使用来自于知名公司的真实案例研究,《开发高质量PHP框架与应用的实际案例解析》为Web软件体系结构的不同层次介绍了规划、执行以及测试自动化方面的内容,并解释了这些公司如何测量和测试软件质量。《开发高质量PHP框架与应用的实际案例解析》作者Sebastian Bergmann、Stefan......一起来看看 《开发高质量PHP框架与应用的实际案例解析》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具