标签:
安排:
?
?
准备工作:1天
后台:2天
前台:2天(0.5天答辩)
?
项目:根据自己的情况来选,推荐选择shopcz,
?
准备工作:
?
涉及到一个问题:关于合作的问题
?
大家有一个一统一的规范
?
准备工作,没人必做,而且相同
?
数据库共享(建一个数据库服务器)
?
写代码的时候,分开写,在自己的电脑上写。
?
?
?
【第一天】
项目思想:
面向过程 + OOP
对于常用的功能,封装成类,mysql,分页类,上传,图像,验证码,还包括一些模型。
模型,model,根据实际的业务逻辑完成数据库CRUD。
对于网站的逻辑,我们采用面向过程 的方式。
?
一个网站分为前台和后台,前台和后台实际上是两个相对独立的网站。如何分开,前台的东西直接放在根目录,而后台的内容在放在一个admin的文件夹下。
?
前台和后台 有联系,主要就是 数据库
在前台和后台中,有很多相同或相似功能的代码,
把共用的代码集中管理,以方便重用。
?
?
?
项目结构:
其实,我们可以看一看ecsho的结构,
?
网站根目录
Admin目录
?
?
?
?
?
?
?
项目基本实现
?
后台初始化文件
Include_path
包含路径
$mysql = new mysqli(参数)
Mysqli 是php的扩展,扩展库路径是默认就有的。
Include ‘b.php‘; 当前路径也是包含在默认路径当中
有两个函数
Get_include_path
Set_include_path
?
类比于操作系统中的环境变量
?
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;;D:\amp\bin;D:\amp\MySQL5.5\bin;C:\Program Files\ctags
?
?
?
?
?
实现后台首页
?
后台需要完成的模块有
?
可以按如下顺序来实现:
?
数据库设计
在任何一个商场当中
?
商品模块
用户模块
?
?
订单模块
?
?
收藏表
Favorite表
购物车表
Cart表
?
?
数据库共享
创建账户
创建好的账户,默认是没有权限的。
?
授权
Grant 语句
基本操作,CRUD
管理:对表和库进行管理的权限 alter create drop
控制:grant revoke
?
?
注意两点:
【第二天】
完成任务:
?
?
登录权限管理
涉及到安全管理
?
?
给出解决方案
Mysql注入
?
利用sql语句的特点,构造万能密码和万能用户名
攻:
防:
?
正常写法:select * from cz_admin where admin_name = ‘admin‘ and password = ‘admin‘;
?
万能密码
怎么防?
对密码进行md5加密
?
?
?
万能用户名
?
?
?
怎么防?
都是利用 单引号 的特点,
告诉我们一个道理:
对于用户输入的数据,我们不要轻信。
?
对于用户输入的数据,一种要验证。(前台验证JS,后台验证PHP)
一种是转义,对于特殊的字符,强制转义。
?
Addslashes
?
对于用户输入的数据,进行转义。
?
$_POST
$_GET
$_COOKIE
?
如何对这三种进行转义
需要考虑的问题是,$_POST,$_GET,是多维不确定数组
?
要用递归思想
?
最好是把这个转义的方法写出一个函数,
?
?
?
在init.php中调用
?
防止mysql注入其他的方法:
?
?
XSS
Cross Site Scripting
跨站脚本攻击
有很多种,利用scirpt进行攻击
攻:
<script>alert(‘hahhaha‘)</script>
防:
?
转义输入和转义输出
?
?
什么时候用?
什么时候输出,就什么时候用
?
验证码:
CAPTCHA
全自动区分计算机和人类的图灵测试,是一种区分用户是计算机和人的计算程序,这种程序必须能生成并评价人类能很容易通过但计算机却通不过的测试。
?
?
验证码实现流程:
?
验证码是一个图片:
?
生成图片,
?
步骤:
?
设计一个类:
属性:
????$width, $height, $num, $image, $code
方法:
????
????createCode();
????getCode()
?
【第三天】
?
今天任务:
?
日志
重要性,
日志可以便于我们调试代码
Sql语句打印出来
Sql语句日志文件中
?
日志,实际上就是一个文件。
把相关的内容写入到文件中即可。
?
日志的内容,比较多,如何来分类就显得比较重要了。
以日为单位,来记录
?
写一个方法用以实现日志记录功能
?
PHP_EOL 换行符的常量
Windows \r\n
*inux \n
Mac \r
?
?
动态显示商品属性表单
?
?
?
【第四天】
?
?
步骤很重要
分析HTML结构,从结构入手
?
高文广的方法
?
见gao.php
?
?
?
?
?
?
?
?
?
新的方法
三层,如果有一个三维数组,保存好了分类信息,我们在模板中遍历,就无需有这么多的判断。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
前台调用
标签:
原文地址:http://www.cnblogs.com/yizhinageyuanfang/p/5518564.html