一、後台管理系統
人人商城後台管理系統是基於PHP語言開發的,主要包含商品管理、訂單管理、用戶管理、系統設置四個模塊。
在商品管理模塊中,可以添加、編輯、刪除商品信息,包括商品名稱、價格、庫存、圖片等。同時可以對商品進行分類管理,方便用戶查找。
訂單管理模塊可以查看用戶下的訂單,處理退貨、發貨等操作;用戶管理模塊可以管理用戶信息,包括用戶名稱、電話、收貨地址等;系統設置模塊可以對網站基本設置、支付方式、短信接口、管理員權限等進行配置。
<?php
// 商品管理
public function goods(){
$goodsList = $this->model->select('goods')->orderBy('id DESC')->get();
$this->assign('goodsList',$goodsList);
$this->display('goods_list.tpl');
}
// 訂單管理
public function order(){
$orderList = $this->model->select('orders')->orderBy('id DESC')->get();
$this->assign('orderList',$orderList);
$this->display('order_list.tpl');
}
// 用戶管理
public function user(){
$userList = $this->model->select('users')->orderBy('id DESC')->get();
$this->assign('userList',$userList);
$this->display('user_list.tpl');
}
// 系統設置
public function config(){
$configList = $this->model->select('config')->get();
$this->assign('configList',$configList);
$this->display('config.tpl');
}
?>
二、前台展示頁面
人人商城的前台展示頁面主要包括主頁、分類頁、詳情頁、購物車頁、結算頁、支付頁等。
主頁展示各種熱門商品,分類頁按照分類展示商品,詳情頁展示商品詳細信息,包括商品名稱、價格、庫存、配送方式、購買說明等,同時可以加入購物車,購物車中可以修改商品數量,進入結算頁進行支付操作。
為了保護用戶信息安全,人人商城採用了HTTPS協議,避免了信息被惡意截獲。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title><{$goods.name}></title>
<link rel="stylesheet" href="css/style.css">
<script type="text/javascript" src="js/jquery.min.js"></script>
</head>
<body>
<div class="header">
<div class="logo">
<a href="/"><img src="images/logo.png"></a>
</div>
<ul class="nav">
<li><a href="/">首頁</a></li>
<li><a href="/list.html">分類</a></li>
<li><a href="/cart.html">購物車</a></li>
<li><a href="/order.html">我的訂單</a></li>
<li><a href="/user.html">個人中心</a></li>
</ul>
</div>
<div class="main-wrapper">
<div class="main">
<div class="goodDetail">
<img src="">
<div class="right">
<div class="title">
</div>
<div class="price">
<span>¥<{$goods.price}></span>
</div>
<div class="num">
<span>商品編號:<{$goods.id}></span>
<span>庫存:<{$goods.stock}></span>
</div>
<div class="attrList">
<ul>
<li>顏色: 紅色</li>
<li>尺碼: S</li>
</ul>
</div>
<div class="btns">
<div class="btn addCartBtn">加入購物車</div>
<div class="btn buyBtn">立即購買</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
三、安全策略
人人商城採用了多種安全策略來保護用戶數據,包括防注入、XSS攻擊、CSRF攻擊等。
其中,防注入方面,人人商城引入了預處理機制,對輸入數據進行過濾和檢查,避免惡意用戶利用SQL注入等方式攻擊數據庫;XSS方面,使用HTML實體化技術對用戶輸入的數據進行轉義,避免瀏覽器解析js代碼;CSRF方面,使用Token令牌驗證機制,防止攻擊者偽造用戶請求。
<?php
// 防注入
public function checkInput($data){
$data = trim($data);
$data = htmlspecialchars($data);
$data = addslashes($data);
return $data;
}
// XSS
public function filterHtml($html) {
$allowTags='
'; $html = strip_tags($html, $allowTags); $html = htmlspecialchars($html, ENT_QUOTES, 'utf-8'); $html = str_replace(array('<','>','"',''','
','
'),'',$html); return $html;}// CSRFpublic function checkToken() { if(empty($_SESSION['csrf_token']) || $_SESSION['csrf_token'] != $_POST['csrf_token']) { die('請求非法,請重新提交'); }}?>
四、性能優化
為了提升用戶的使用體驗,人人商城做了很多性能優化工作,主要包括如下幾個方面:
1. CDN加速:使用CDN技術加快圖片、JS、CSS等靜態資源的訪問速度;
2. 緩存技術:使用Memcached和Redis等緩存技術,減少數據庫訪問次數;
3. 懶加載技術:圖片、視頻等大文件採用懶加載技術,當用戶需要時再加載,減少頁面加載時間;
4. 代碼壓縮:使用Webpack等工具對JS、CSS等代碼進行壓縮,減小文件體積。
const path = require('path');
const webpack = require('webpack');
const htmlWebpackPlugin = require('html-webpack-plugin');
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const CleanWebpackPlugin = require('clean-webpack-plugin');
module.exports = {
entry: {
app: './src/js/index.js'
},
output: {
filename: 'js/[name].js',
path: path.resolve(__dirname, 'dist')
},
devtool: 'source-map',
module: {
rules: [{
test: /\.css$/,
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: "css-loader"
})
}]
},
plugins: [
new ExtractTextPlugin('css/[name].css'),
new htmlWebpackPlugin({
filename: 'index.html',
template: './src/view/index.html',
inject: true,
title: '人人商城',
minify: {
removeComments: true,
collapseWhitespace: true
}
}),
new UglifyJSPlugin(),
new CleanWebpackPlugin(['dist'])
]
}
原創文章,作者:IKRM,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/146672.html