打造刀郎安全PHP系统 · 续

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

内容简介:最近某某酒店火了一把,动不动就开始脱裤子,很吓人啊,从自己打造安全的角度出发,我觉得最大问题是程序员参差不齐,还有就是老板压得太狠,功能都实现不完,哪有时间加固网站安全啊!由于网站功能太多,实现太复杂,难免会有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是用户的等级,管理员还是普通用户。


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

查看所有标签

猜你喜欢:

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

Web程序设计

Web程序设计

(美)塞巴斯塔 / 王春智、刘伟梅 / 清华大学出版社 / 2011-1 / 69.00元

《Web程序设计(第6版)》浓墨重彩地描述客户端和服务器端Web开发技术,深入分析Web站点构造和维护工具,并透彻讲解主流Web编程语言。《Web程序设计(第6版)》对上一版内容做了全面细致的修改,并融入了NetBeans 6.7、Visual Studio 8和ASP.NET Web服务等最新技术。《Web程序设计(第6版)》既可以作为高校教材,也可供专业Web编程人员参考使用。一起来看看 《Web程序设计》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器