Ecshop源代码分析总结
2013-09-15 01:13
246 查看
1:在配置文件中首先定义好连接数据库的配置,COOKIE的路径,域,SESSION的过期时间,默认使用的字符编码默认时区,等常用的数据,
2:在初始化文件 公共函数库 基础类class文件中加入一个IN_ECS常量判断,不允许用户直接访问
3:对用户输入表单的数据进行转义操作,首先判断php配置文件有没有开启get_magic_quotes_gpc 有没有开启如果没有开启则执行自定义转义字符串的函数,作用:1:可以简单解决sql注入攻击, 2:防止用户输入的HTML代码,从数据库取出来时使页面本来的样式改变(可能会在留言本的地方会出现)
4:使用一个目录存放 图片 flash 品牌的logo 印刷书籍类 压缩包 棉类 广告图片等资料;
5:定义一个专门输出错误信息的类,作为全站的错误,警告,提示的对象,使提示的错误信息与程序分离;
6:把所有的公共参数,从数据库中取出后写入一个缓存文件,变为静态输出;
7:判断每一个访问时搜索引擎蜘蛛的访问还是正常用户的访问,以免产生过多session数据,写入到数据库中,使数据库突然增大,导致网站的崩溃,如果是正常用户初始化session类,并写入数据库中session数据表中
8:增强session的安全,使用随机函数产生session_id,并带上基于当前时间微秒数的唯一id,经md5加密,使用客户端的ip地址,$_SERVER['HTTP_USER_AGENT'])作为密钥,再经过crc32函数产生一个32位字符串作为基础,使session安全得到增强,如果用户ip地址或者客户端发生变化,这个session就会失效,重新为客户端创建一个新的session
9:购物过程使用ajax进行,增加重要的数据隐蔽性
10:smarty产生缓存文件,也不能直接访问,每个缓存文件写着有一行直接访问则会退出,后面接着类似json代码字符串记录着模板文件的被修改时间,和文件本身的过期时间(和smarty本身原来的不同,ECSHOP修改了smarty),模板一旦改变,这个缓存文件将重新修改,或者与当前时间对比之后,是否到了过期时间,过期就重新修改这个缓存文件
11:将模板文件分为静态和动态部分,分别存放;
12:为保护数据库的安全,当初始化数据库类完成时,就把数据库的主机名或者ip,用户名,密码,的变量清空
13:在js的文件夹中发现一个js函数库可以把字符串转换成json代码
本文出自 “Freax” 博客,请务必保留此出处http://freax.blog.51cto.com/6614733/1297273
2:在初始化文件 公共函数库 基础类class文件中加入一个IN_ECS常量判断,不允许用户直接访问
3:对用户输入表单的数据进行转义操作,首先判断php配置文件有没有开启get_magic_quotes_gpc 有没有开启如果没有开启则执行自定义转义字符串的函数,作用:1:可以简单解决sql注入攻击, 2:防止用户输入的HTML代码,从数据库取出来时使页面本来的样式改变(可能会在留言本的地方会出现)
4:使用一个目录存放 图片 flash 品牌的logo 印刷书籍类 压缩包 棉类 广告图片等资料;
5:定义一个专门输出错误信息的类,作为全站的错误,警告,提示的对象,使提示的错误信息与程序分离;
6:把所有的公共参数,从数据库中取出后写入一个缓存文件,变为静态输出;
7:判断每一个访问时搜索引擎蜘蛛的访问还是正常用户的访问,以免产生过多session数据,写入到数据库中,使数据库突然增大,导致网站的崩溃,如果是正常用户初始化session类,并写入数据库中session数据表中
8:增强session的安全,使用随机函数产生session_id,并带上基于当前时间微秒数的唯一id,经md5加密,使用客户端的ip地址,$_SERVER['HTTP_USER_AGENT'])作为密钥,再经过crc32函数产生一个32位字符串作为基础,使session安全得到增强,如果用户ip地址或者客户端发生变化,这个session就会失效,重新为客户端创建一个新的session
9:购物过程使用ajax进行,增加重要的数据隐蔽性
10:smarty产生缓存文件,也不能直接访问,每个缓存文件写着有一行直接访问则会退出,后面接着类似json代码字符串记录着模板文件的被修改时间,和文件本身的过期时间(和smarty本身原来的不同,ECSHOP修改了smarty),模板一旦改变,这个缓存文件将重新修改,或者与当前时间对比之后,是否到了过期时间,过期就重新修改这个缓存文件
11:将模板文件分为静态和动态部分,分别存放;
12:为保护数据库的安全,当初始化数据库类完成时,就把数据库的主机名或者ip,用户名,密码,的变量清空
13:在js的文件夹中发现一个js函数库可以把字符串转换成json代码
本文出自 “Freax” 博客,请务必保留此出处http://freax.blog.51cto.com/6614733/1297273
相关文章推荐
- SSH框架总结(框架分析+环境搭建+实例源代码下载)
- SSH框架总结(框架分析+环境搭建+实例源代码下载)
- ffdshow 源代码分析 9: 编解码器有关类的总结
- SSH框架总结(框架分析+环境搭建+实例源代码下载)
- ffdshow 源代码分析 9: 编解码器有关类的总结
- SSH框架总结(框架分析+环境搭建+实例源代码下载)
- ffdshow 源代码分析 9: 编解码器有关类的总结
- 开源流媒体处理库live555服务器端、客户端源代码分析总结
- Zico源代码分析:执行启动过程分析和总结
- 2016书单总结--看透SpringMvc源代码分析与实践-概述
- 对象池commons-pool框架的研究以及源代码分析(六)总结
- SSH框架总结(框架分析+环境搭建+实例源代码下载)
- SSH框架总结(框架分析+环境搭建+实例源代码下载)
- SSH框架总结(框架分析+环境搭建+实例源代码下载)
- nginx源代码分析--从源代码看nginx框架总结
- 开源流媒体处理库live555服务器端、客户端源代码分析总结
- ffdshow 源代码分析 5: 位图覆盖滤镜(总结)
- 《黑马程序员》查看源代码分析Class.newInstance原理总结
- SSH框架总结(框架分析+环境搭建+实例源代码下载)
- ffdshow 源代码分析 5: 位图覆盖滤镜(总结)