码迷,mamicode.com
首页 > 其他好文 > 详细

中级项目

时间:2016-05-23 06:46:43      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

安排:

?

?

准备工作:1天

后台:2天

前台:2天(0.5天答辩)

?

项目:根据自己的情况来选,推荐选择shopcz,

?

准备工作:

  1. 确定项目,思想(OOP ,面向过程 ,面向过程+OOP
  2. 搭建项目结构
  3. 写一些基础文件(功能类,mysql类,image类,upload类,captcha类,分页类,初始化文件等)
  4. 数据库设计(>10个)
  5. 完成后台的界面

    ?

    涉及到一个问题:关于合作的问题

    ?

    大家有一个一统一的规范

    ?

    准备工作,没人必做,而且相同

    ?

    数据库共享(建一个数据库服务器)

    ?

    写代码的时候,分开写,在自己的电脑上写。

    ?

    ?

    ?

    【第一天】

    项目思想:

    面向过程 + 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

?

技术分享

?

注意两点:

  • 开启账户的来宾账号
  • 关闭防火墙

【第二天】

完成任务:

  • 商品分类管理
  • 商品品牌管理
  • 商品类型管理
  • 商品属性管理
  • 登录权限管理

?

?

登录权限管理

涉及到安全管理

?

  1. 暴力破解----验证码
  2. Mysql注入, 利用sql语句,构造万能密码和万能用户名
  3. XSS跨脚本攻击 利用js脚本

    ?

    给出解决方案

    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注入其他的方法:

  4. 从逻辑上控制,分开来判断用户和密码,写sql麻烦
  5. 直接使用mysqli和PDO的 参数绑定 ,如果使用预处理,它会自动转义

    ?

    ?

    XSS

    Cross Site Scripting

    跨站脚本攻击

    有很多种,利用scirpt进行攻击

    攻:

    <script>alert(‘hahhaha‘)</script>

    防:

  6. 数据过滤(正则表达式)
  7. 转义输出

    ?

    转义输入和转义输出

    ?

    技术分享

    ?

    什么时候用?

    什么时候输出,就什么时候用

    ?

    验证码:

    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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!