摘要:二手信息网站,为二手物品交易提供了网上平台。如今,随着电子商务的不断发展完善,大学校园也需要一个能为学生提供二手物品交易的专用网站,以便发布各种商品信息。本设计具有一般电子商务的功能,且体现出校园风格。该系统提供的功能包括注册、查询信息、发布信息、找回密码等。本系统的特点在于应用了PHP技术。它是一种简单的动态脚本语言,具有开放源码、执行速度快的特点。该技术还支持广泛的数据库连接 ,具有大量的扩展库,安全性能高,易学易用。本文首先介绍了该系统的可行性和应用工具,并就系统的需求性和PHP的优势进行了阐述;接着进行系统分析,并设计了本系统所用到的基于MY SQL数据库的数据表结构;然后对该系统各功能模块进行了详细设计;最后,针对系统在代码优化和加密方面的不足做出总结。
关键字:
二手信息;PHP;MySQL;APACHE;MD5;SESSION
目录:
系统分析与数据库分析:
1.1 系统功能需求分析
根据一般电子商务系统功能分析,将系统分为管理员、用户两大模块。系统管理员模块包括:系统配置管理、会员信息管理、网站新闻管理、物品信息管理、管理员管理、登录日志管理。用户模块包括:安全登录、找回密码、查询信息、发布信息、会员注册、物品类别、物品信息管理、会员信息修改。刚进入网站的非会员能够在此网站浏览和搜索信息,不仅能浏览二手信息还能浏览到热门信息。经过注册成为会员便能发布信息。此系统还考虑到用户利用穷举法破解密码,专门设置了用户和管理员登录日志,以便及时了解和防范。
1.2 系统模块关系图
1.3 系统E-R图
本实例根据上面的模块关系图规划出的实体有管理员、二手信息机及新闻、用户、会员实体、各实体的E-R图及其关系描述如下(带下划线的为主键):
超级管理远实体E-R图同管理员实体E-R图类似,无权限属性(省略)。
1.4 数据库设计
1.4.1 数据库表之间的关系
表4 用户与管理员登录日志信息表(ershou_ adminstage)
表8:管理员信息表(ershou_manager)
1.5 系统安全
MD5是在Web应用程序中最常用的密码加密算法。由于MD5是不可逆的,因而经过MD5计算得到后的密文,不能通过逆向算法得到原文。所谓MD5,即"Message-Digest Algorithm 5(信息-摘要算法)",它由MD2、MD3、MD4发展而来的一种单向函数算法(也就是HASH算法),它是国际著名的公钥加密算法标准RSA的第一设计者R.Rivest于上个世纪90年代初开发出来的。MD5的最大作用在于,将不同格式的大容量文件信息在用数字签名软件来签署私人密钥前"压缩"成一种保密的格式,关键之处在于——这种"压缩"是不可逆的。在Web应用程序中使用MD5加密文本密码的初衷,就是为了防止数据库中保存的密码不幸泄露后被直接获得。但攻击者不但拥有数据量巨大的密码字典,而且建立了很多MD5原文/密文对照数据库,能快速地找到常用密码的MD5密文,是破译MD5密文的高效途径。然而,MD5密文数据库所使用的是最常规的MD5加密算法:原文-->MD5-->密文。因此,使用字符串次序干涉MD5算法,使现成的MD5密文数据库无所作为。此函数是把MD5运算后的密文字符串的顺序调转后,再进行一次MD5运算。函数代码如下:
1.1 本地服务器测试
本系统是基于Windows平台,在PHP、MYSQL、Apache的环境下运行的;启动Apache应用服务器,打开Internet Explorer,在URL地址中输入http://localhost,即可打开系统首页。经过测试,本系统已经能够顺利完成系统要求的基本功能,达到预期目标。
1.2 远程服务器测试
在Linux、PHP、MYSQL、Apache的环境下;用户远程访问此系统,页面会出现乱码。就此问题经过如下分析,并给出解决方案:系统显示信息时出现了中文文字显示的问题。系统文件乱码的出现是由于编码(charset)设置错误,导致浏览器以错误的编码来解析。此系统测试时遇到的主要是数据库连接编码,指的是进行数据库操作时以哪种编码与数据库传输数据,由于Linux操作系统上数据库采用UTF8编码,而网页的页面申明编码是GB2312。这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:Mysql_query ("SET NAMES GBK");来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩展)。此问题解决后,继续测试系统。能够顺利完成系统要求的基本功能,系统在远程服务器上运行成功。