hafiz-asad-2554/E-Commerce-Fraud-Detection-Prevention

GitHub: hafiz-asad-2554/E-Commerce-Fraud-Detection-Prevention

一套融合 Laravel 电商平台与 FastAPI 机器学习引擎的全栈电商欺诈检测与防范系统,通过规则与 ML 模型双重机制在结账环节实时识别风险交易。

Stars: 0 | Forks: 0

# 电子商务欺诈检测与防范系统 **店铺:** 安全购物 **提交者:** Hafiz Muhammad Asad Mustafa (S23NDOCS1M01042) **大学:** The Islamia University of Bahawalpur, Bahawalnagar Campus 带有**基于规则的欺诈检查 (Laravel)** 和 **ML 欺诈引擎 (FastAPI)** 的全栈电子商务系统。 ## 项目结构 ``` E-Commerce Fraud Detection & Prevention/ ├── ecommerce Site/ │ ├── frontend/ # HTML/CSS/JS storefront (port 5500) │ ├── backend/ # Laravel 12 API + admin (port 8000) │ ├── start-backend.bat │ └── start-frontend.bat └── fraud detection engine/ ├── backend/ # FastAPI + ML (port 8001) ├── datasets/ # Training CSV samples ├── model/ # Trained model artifacts ├── database/ # Sample transactions DB scripts ├── setup-ml-and-db.bat └── start-engine.bat ``` ## 前置条件 - PHP 8.2+ 和 [Composer](https://getcomposer.org/) - Python 3.11+ - Git ## 一次性设置 ### 1. Laravel 后端 ``` cd "ecommerce Site\backend" composer install copy .env.example .env php artisan key:generate php artisan migrate --seed php artisan storage:link ``` 可选 — 主页轮播图和 Kaggle 风格的产品图片: ``` php artisan db:seed --class=HeroSlideSeeder php artisan db:seed --class=KaggleProductSeeder php artisan products:sync-local-images --max=4 php artisan db:seed --class=ContactSeeder ``` 产品图片从 `ecommerce Site\frontend\assets\images\products\` 读取 (CSV + `e-commerce/images/`)。 ### 2. 欺诈检测引擎 ``` cd "fraud detection engine\backend" python -m venv venv .\venv\Scripts\activate pip install -r requirements.txt cd .. .\setup-ml-and-db.bat ``` 这将训练模型 (`model/fraud_model.joblib`) 并创建示例 SQLite 数据库 (`database/fraud_transactions.db`)。 ## 运行(需要 3 个终端) | # | 命令 | URL | |---|---------|-----| | 1 | `ecommerce Site\start-backend.bat` | http://127.0.0.1:8000 | | 2 | `fraud detection engine\start-engine.bat` | http://127.0.0.1:8001/docs | | 3 | `ecommerce Site\start-frontend.bat` | http://127.0.0.1:5500 | | 页面 | URL | |------|-----| | 商城 | http://127.0.0.1:5500/index.html | | 结账 | http://127.0.0.1:5500/checkout.html | | 管理后台 | http://127.0.0.1:8000/admin/login | | ML 仪表盘 | http://127.0.0.1:8001/dashboard | **管理员登录:** `admin@iub.edu.pk` / `password` 如果需要,请在 `ecommerce Site/frontend/js/config.js` 中将 `API_BASE_URL` 设置为 `http://127.0.0.1:8000/api`。 ## 测试 ### FastAPI 健康检查与预测 ``` curl.exe http://127.0.0.1:8001/health curl.exe -X POST http://127.0.0.1:8001/predict -H "Content-Type: application/json" -d "{\"amount_pkr\":200000,\"city\":\"Lahore\",\"ip_region\":\"sindh\",\"payment_method\":\"card\",\"previous_orders_24h\":5,\"account_age_days\":0.3,\"is_new_account\":true,\"items_count\":1}" ``` 对于上面的示例数据,预期会有较高的 `combined_score` / `"risk_level": "High"`。 ### 示例交易数据库 ``` cd "fraud detection engine\database" python ..\database\seed_database.py .\view-sample-db.bat ``` 或者使用 [DB Browser for SQLite](https://sqlitebrowser.org/) 打开 `fraud_transactions.db`。 ### 店铺欺诈演示(Laravel 规则) 1. **高金额** — 笔记本电脑 Rs. 145,000+ 2. **位置不匹配** — 城市为 Lahore,而模拟区域为 Karachi 3. **频率** — 同一用户在 30 分钟内下单 3 次以上 在 **管理后台 → 欺诈检测** 中查看被标记的订单。 ## 功能 - 客户商城:产品、购物车、多步骤结账、地理提示、支付验证 - 管理后台:产品(多图上传)、分类、订单、用户、主页轮播图、欺诈模块 - FastAPI:混合 ML + 规则,`/predict`,带有预测日志记录的 `/dashboard` ## API (Laravel) Base URL: `http://127.0.0.1:8000/api` | 方法 | Endpoint | 描述 | |--------|----------|-------------| | POST | `/register`, `/login` | 认证 (Sanctum) | | GET | `/products`, `/categories`, `/slides` | 目录与首页 | | GET | `/checkout/geo` | IP 地理位置提示 | | POST | `/orders` | 下单(欺诈检查) | 管理面板路由位于 `/admin/*` 下 (session 认证)。 ## 重新训练 ML 模型 ``` cd "fraud detection engine\backend" .\venv\Scripts\activate python train.py python ..\database\seed_database.py ``` ## 故障排除 | 问题 | 解决方案 | |---------|-----| | 登录出现 `Failed to fetch` | 启动 `start-backend.bat`;释放 8000 端口 | | FastAPI 出现 `model not trained` | 运行 `setup-ml-and-db.bat` | | 8001 端口被占用 | 停止其他 Python/uvicorn 进程 | | 产品图片缺失 | 运行 `php artisan storage:link` 并执行图片填充器 | | 旧的缓存结账页面 | 在结账页面强制刷新 (`Ctrl+F5`) | ## 联系方式 **Hafiz Muhammad Asad Mustafa** — hafizasad2554@gmail.com — S23NDOCS1M01042 *学期项目 — 计算机科学系 — Islamia University of Bahawalpur — (Bahawalnagar Campus) *
标签:Apex, AV绕过, FastAPI, ffuf, Laravel, 反欺诈, 机器学习, 电子商务, 风险控制