ecshop二次开发笔记
1. robots.txt
爬虫协议
网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
2. 入口文件
index.php
3. 目录结构分析
admin 后台
api 接口
cert 证书
data 数据
demo 示范(安装成功需要删除)
install 安装目录(安装成功需要删除)
upgrade 升级(安装成功需要删除)
docs 文档
h5 h5代码
images 商品图片目录
includes 包含文件目录
js 所有的js文件
languages 语言包
src scss文件
temp 临时文件
themes 模板文件
wap wap页面
widget 组件
2. 数据库分析
商品管理
商品
商品分类
用户评论
商品品牌
商品类型
商品标签
虚拟商品
促销管理
红包
商品包装
祝福贺卡
团购活动
专题管理
拍卖活动
优惠活动
批发管理
超值礼包
积分商城商品
订单管理
订单
合并订单
缺货登记
发货单
退货单
广告管理
广告
广告位置
报表统计
流量分析
搜索引擎
访问购买率
文章
文章分类
文章
在线调查
会员管理
会员
会员等级
会员留言
充值和提现申请
权限管理
管理员
管理员日志
角色
办事处
供应商
系统设置
商店管理
会员注册项设置
支付方式
配送方式
邮件服务设置
地区列表
友情链接
验证码管理
站点地图
商品(虚拟商品)
N:1 商品分类
N:M 用户评论
N:1 商品品牌
N:1 商品类型
N:M 商品标签
N:1 商品包装
N:1 商品贺卡
N:M 团购活动
N:M 拍卖活动
N:M 优惠活动
N:1 批发管理
N:M 超值礼包
N:1 积分商城商品
N:M 订单
N:M 文章
N:1 红包类型
N:M 专题
1:1 缺货登记
订单
N:1 合并订单
1:1 发货订单
1:1 退货订单
N:1 会员
广告
1:1广告位
广告位1:N站外投放js
文章
N:1 文章分类
会员
N:1 会员登记
N:1 会员留言
1:N充值和提现申请
权限管理 管理员
N:1 角色
1:N 日志
N:1 办事处
N:1 供货商
设计数据库:
需求文档
找实体、找关系
建模(navicat、MySQL workbench等)
生成数据库
3. 目录结构分析
admin 后台
api 接口
cert 证书
data 数据
demo 示范(安装成功需要删除)
install 安装目录(安装成功需要删除)
upgrade 升级(安装成功需要删除)
docs 文档
h5 h5代码
images 商品图片目录
includes 包含文件目录
js 所有的js文件
languages 语言包
src scss文件
temp 临时文件
themes 模板文件
wap wap页面
widget 组件
*.php文件
index.php 入口文件
4. phpini
① define('IN_ECS', true);
防止用户不通过入口文件访问includes目录下的文件
② init.php
@ 屏蔽错误信息
③ error_reporting()
1 E_ERROR 运行时致命的错误。不能修复的错误。停止执行脚本。
2 E_WARNING 运行时非致命的错误。没有停止执行脚本。
4 E_PARSE 编译时的解析错误。解析错误应该只由解析器生成。
8 E_NOTICE 运行时的通知。脚本发现可能是一个错误,但也可能在正常运行脚本时发生。
8191 E_ALL 所有的错误和警告的级别,除了 E_STRICT(自 PHP 6.0 起,E_STRICT 将作为 E_ALL的一部分)
0 0则代表禁用错误报告
另一种禁用错误报告的方式:
php.ini display_errors = On 改为 display_errors = Off
④ define(‘ROOTPATH’,’url’);
定义根路径为常量,方便访问
⑤ 常量引入 inc_constant.php
将常量全部存放到一个文件中,需要的时候引入
⑥ get_magic_quotes_gpc() 已被 php 5.4 移除 https://blog.csdn.net/kaixinfelix/article/details/18799557
SQL注入:
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令
例1:已知用户名 admin,在表单中填入 admin‘ or ‘ 1
就可以不写密码直接登录
SELECT * FROM user WHERE name = ‘admin’ or ‘1’ AND password = $pwd;
解决:
- PDO或Mysqli面向对象方式链接数据库
- mysql_real_escape_string() 函数
https://www.w3school.com.cn/php/func_mysql_real_escape_string.asp