This commit is contained in:
Flatlogic Bot 2026-02-07 06:44:55 +00:00
parent 48c3bc0ba6
commit db6c439a10
2 changed files with 102 additions and 0 deletions

45
reset_admin.php Normal file
View File

@ -0,0 +1,45 @@
<?php
/**
* 管理员密码重置工具
* 使用方法:上传到宝塔根目录,访问:域名/reset_admin.php
* 注意:使用后请务必删除此文件以保安全!
*/
require_once 'config.php';
$new_username = 'admin';
$new_password = 'admin123'; // 您可以将此处修改为您想要的密码
$hashed_password = password_hash($new_password, PASSWORD_DEFAULT);
try {
$db = db();
// 检查表是否存在
$db->exec("CREATE TABLE IF NOT EXISTS admins (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(150) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)");
// 更新或插入管理员
$stmt = $db->prepare("SELECT id FROM admins WHERE username = ?");
$stmt->execute([$new_username]);
if ($stmt->fetch()) {
$stmt = $db->prepare("UPDATE admins SET password = ? WHERE username = ?");
$stmt->execute([$hashed_password, $new_username]);
} else {
$stmt = $db->prepare("INSERT INTO admins (username, password) VALUES (?, ?)");
$stmt->execute([$new_username, $hashed_password]);
}
echo "<h3>管理员账号重置成功!</h3>";
echo "<p>用户名: <b>$new_username</b></p>";
echo "<p>新密码: <b>$new_password</b></p>";
echo "<p style='color:red;'><b>警告:请立即删除 reset_admin.php 文件!</b></p>";
echo "<a href='admin_login.php'>前往登录</a>";
} catch (Exception $e) {
echo "<h3>重置失败:</h3>";
echo "<p>" . $e->getMessage() . "</p>";
echo "<p>请检查 db/config.php 中的数据库连接配置是否正确。</p>";
}

57
update_db.php Normal file
View File

@ -0,0 +1,57 @@
<?php
/**
* 数据库结构同步工具
* 访问此文件可确保您的宝塔数据库结构与当前代码一致
*/
require_once 'config.php';
try {
$db = db();
// 1. 确保 site_settings 表存在并有数据
$db->exec("CREATE TABLE IF NOT EXISTS site_settings (
id INT AUTO_INCREMENT PRIMARY KEY,
site_name VARCHAR(100) DEFAULT 'BitCrypto',
contact_email VARCHAR(100) DEFAULT 'support@example.com',
deposit_address VARCHAR(255) DEFAULT 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t',
customer_service_url TEXT,
terms_content TEXT,
privacy_content TEXT,
is_pinning_active BOOLEAN DEFAULT FALSE
)");
$check = $db->query("SELECT count(*) FROM site_settings")->fetchColumn();
if ($check == 0) {
$db->exec("INSERT INTO site_settings (site_name) VALUES ('BitCrypto')");
}
// 2. 确保 accounts 表有 KYC 相关字段
$columns = $db->query("SHOW COLUMNS FROM accounts")->fetchAll(PDO::FETCH_COLUMN);
if (!in_array('kyc_status', $columns)) {
$db->exec("ALTER TABLE accounts ADD COLUMN kyc_status ENUM('UNVERIFIED', 'PENDING', 'VERIFIED', 'REJECTED') DEFAULT 'UNVERIFIED'");
}
if (!in_array('credit_score', $columns)) {
$db->exec("ALTER TABLE accounts ADD COLUMN credit_score INT DEFAULT 80");
}
// 3. 确保 cryptocurrencies 表存在
$db->exec("CREATE TABLE IF NOT EXISTS cryptocurrencies (
id INT AUTO_INCREMENT PRIMARY KEY,
symbol VARCHAR(20) UNIQUE NOT NULL,
name VARCHAR(100) NOT NULL,
icon_url TEXT,
current_price DECIMAL(30, 8) DEFAULT 0,
manual_price DECIMAL(30, 8) DEFAULT 0,
change_24h DECIMAL(10, 2) DEFAULT 0,
is_active BOOLEAN DEFAULT TRUE
)");
echo "<h3>数据库同步完成!</h3>";
echo "<p>您的数据库结构已成功更新为最新版本。</p>";
echo "<p style='color:red;'><b>请立即删除 update_db.php 文件。</b></p>";
echo "<a href='index.php'>返回首页</a>";
} catch (Exception $e) {
echo "<h3>同步失败:</h3>";
echo "<pre>" . $e->getMessage() . "</pre>";
}