1.0.0
This commit is contained in:
+74
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
$db_file = __DIR__ . '/datas.db';
|
||||
|
||||
// Если БД уже существует — блокируем установку
|
||||
if (file_exists($db_file)) {
|
||||
http_response_code(403);
|
||||
die("403 Forbidden: База данных уже существует. Удалите install.php.");
|
||||
}
|
||||
|
||||
// Если форма не отправлена — показываем ввод
|
||||
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
|
||||
?>
|
||||
<h1>Установка системы</h1>
|
||||
<form method="post">
|
||||
<label>Логин администратора:</label><br>
|
||||
<input type="text" name="username" required><br><br>
|
||||
|
||||
<label>Пароль администратора:</label><br>
|
||||
<input type="password" name="password" required><br><br>
|
||||
|
||||
<button type="submit">Установить</button>
|
||||
</form>
|
||||
<?php
|
||||
exit;
|
||||
}
|
||||
|
||||
$username = trim($_POST['username'] ?? '');
|
||||
$password = $_POST['password'] ?? '';
|
||||
|
||||
if ($username === '' || $password === '') {
|
||||
die("Ошибка: логин и пароль не могут быть пустыми.");
|
||||
}
|
||||
|
||||
try {
|
||||
$db = new PDO('sqlite:' . $db_file);
|
||||
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
|
||||
// Таблица администратора UI
|
||||
$db->exec("CREATE TABLE admin (
|
||||
id INTEGER PRIMARY KEY,
|
||||
username TEXT,
|
||||
password TEXT
|
||||
)");
|
||||
|
||||
// Таблица подключений S3 / WebDAV
|
||||
$db->exec("CREATE TABLE s3_mounts (
|
||||
id INTEGER PRIMARY KEY,
|
||||
dav_user TEXT UNIQUE,
|
||||
dav_pass TEXT,
|
||||
s3_key TEXT,
|
||||
s3_secret TEXT,
|
||||
s3_region TEXT,
|
||||
s3_endpoint TEXT,
|
||||
s3_bucket TEXT
|
||||
)");
|
||||
|
||||
// Хешируем введённый пароль
|
||||
$hash = password_hash($password, PASSWORD_DEFAULT);
|
||||
|
||||
$stmt = $db->prepare("INSERT INTO admin (username, password) VALUES (:username, :password)");
|
||||
$stmt->execute([
|
||||
':username' => $username,
|
||||
':password' => $hash
|
||||
]);
|
||||
|
||||
echo "<h1>Установка завершена!</h1>";
|
||||
echo "<p>Создан файл datas.db.</p>";
|
||||
echo "<p><b>Логин:</b> " . htmlspecialchars($username) . "</p>";
|
||||
echo "<p style='color:red;'>В целях безопасности удалите файл install.php!</p>";
|
||||
echo "<a href='index.php'>Перейти в панель управления</a>";
|
||||
|
||||
} catch (Exception $e) {
|
||||
die("Ошибка БД: " . $e->getMessage());
|
||||
}
|
||||
Reference in New Issue
Block a user