QR Drive Manager
18:39:28 30/10/2025
Lượt xem: 256
Tính năng chính
- Upload file lên Google Drive (OAuth 2.0)
- Tạo mã QR (URL, YouTube, TikTok, WiFi, vCard, Text)
- Quản lý file, QR, người dùng, giao dịch
- Nạp tiền tự động qua VietQR/MBBank
- Hệ thống VIP: Giới hạn dung lượng, thời gian lưu trữ, giá VIP
- Tự động xóa file hết hạn (cron)
- Admin panel quản lý toàn bộ hệ thống
Cài đặt và cấu hình
Yêu cầu hệ thống
- PHP từ 7.4 trở lên
- MySQL hoặc MariaDB
- Composer
- Máy chủ web như XAMPP, Apache hoặc Nginx
Cài đặt
- Clone hoặc giải nén source vào thư mục web, ví dụ: c:/xampp/htdocs/qr-drive-manager
- Cài đặt package PHP bằng lệnh composer install
- Tạo database và import file database.sql vào MySQL
- Tài khoản admin mặc định
- Username: admin
- Password: admin123 (đổi ngay sau khi đăng nhập)
- Cấu hình file includes/config.php
- Giải nén file vendor.zip (bắt buộc giải nén để tạo được QR)
Thiết lập Google Drive OAuth 2.0
- Vào trang Google Cloud Console tại https://console.cloud.google.com/apis/credentials
- Tạo OAuth 2.0 Client ID (Web application)
- Redirect URI: http://localhost/oauth2callback.php
- Tải về file JSON credentials
- Vào Admin Panel > Settings > OAuth Credentials, dán nội dung JSON
- Nhấn “Authorize Google Drive” để cấp quyền kết nối
Thiết lập nạp tiền tự động qua VietQR hoặc MBBank
- Đăng ký API tại trang https://api.sieuthicode.net/
- Lấy API Key, nhập vào phần Admin Panel > Settings > Auto Deposit
- Nhập thông tin ngân hàng:
- Bank ID (MBBank: 970422), số tài khoản, tên chủ tài khoản (viết IN HOA, không dấu)
- Thiết lập cron job để kiểm tra giao dịch tự động
- Ví dụ: chạy mỗi 3 phút bằng lệnh php /path/to/cron_auto_deposit.php
- Khi người dùng nạp tiền, họ chuyển khoản với nội dung: NAPTIENWEB{USER_ID}
Tự động xóa file hết hạn
- Thiết lập cron job chạy hàng ngày: php /path/to/cron_delete_expired.php
- Thời gian lưu trữ theo cấp độ tài khoản:
- Free: 7 ngày
- VIP 1: 60 ngày
- VIP 2: 90 ngày
- VIP 3: 180 ngày
- Các thông số có thể chỉnh trong database
Giới hạn upload
- Free: 50 MB
- VIP 1: 100 MB
- VIP 2: 200 MB
- VIP 3: 500 MB
- Các giới hạn có thể chỉnh trong database
Hướng dẫn sử dụng
Đối với người dùng
- Đăng ký tài khoản tại /public/register.php
- Đăng nhập tại /public/login.php
- Upload file tại /public/upload.php
- Quản lý file, QR và lịch sử tại /public/dashboard.php
- Nạp tiền VIP tại /public/deposit.php
- Xem và tạo mã QR tại /public/qr/
Đối với quản trị viên
- Đăng nhập admin tại /admin/index.php
- Quản lý người dùng, file, mã QR, giao dịch và cài đặt hệ thống
Cấu trúc thư mục
- public: giao diện người dùng
- admin: giao diện quản trị
- includes: file cấu hình và hàm dùng chung
- uploads: thư mục chứa file người dùng tải lên
- uploads/qr: lưu các mã QR đã tạo
- vendor: chứa thư viện PHP cài qua Composer
Cron Jobs
- Tự động xóa file hết hạn: cron_delete_expired.php
- Tự động nạp tiền: cron_auto_deposit.php
Bảo mật
- Thông tin OAuth credentials được lưu trong database (có thể mã hóa)
- Hệ thống quản lý session, chống CSRF và lọc input
- Cơ sở dữ liệu có ràng buộc foreign key và kiểm tra giao dịch duy nhất
Liên hệ và hỗ trợ
Telegram: @weidexiong
Xem và tải project tại đây