v1.1
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
/**
|
||||
* 项目提交前预处理脚本
|
||||
* 用于安全备份并清理敏感配置字段
|
||||
*/
|
||||
|
||||
$source = __DIR__ . '/config.php';
|
||||
$backup = __DIR__ . '/config.backup.php';
|
||||
|
||||
// 1️⃣ 检查文件是否存在
|
||||
if (!file_exists($source)) {
|
||||
echo "❌ 找不到 config.php,跳过处理。\n";
|
||||
exit(0);
|
||||
}
|
||||
|
||||
// 2️⃣ 备份
|
||||
copy($source, $backup);
|
||||
echo "✅ 已备份到 config.backup.php\n";
|
||||
|
||||
// 3️⃣ 读取原配置
|
||||
|
||||
// 3️⃣ 读取配置
|
||||
$options = [];
|
||||
require $source; // 直接导入 $options
|
||||
|
||||
if (!isset($options) || !is_array($options)) {
|
||||
echo "❌ config.php 中未定义 \$options 数组。\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// 4️⃣ 根据需求修改特定字段
|
||||
// 举例:清空日志路径、设置默认workers、隐藏api_key
|
||||
$fieldsToReset = [
|
||||
'redis' => [
|
||||
'ip'=>'127.0.0.1',
|
||||
'port'=>6379,
|
||||
'password'=>'YOURPASSWARD',
|
||||
],
|
||||
'db' => [
|
||||
'type' => 'mysql',
|
||||
'host' => '',
|
||||
'database' => '',
|
||||
'username' => '',
|
||||
'password' => '',
|
||||
'charset' => 'utf8mb4',
|
||||
'collation' => 'utf8mb4_general_ci',
|
||||
'port' => 3306,
|
||||
],
|
||||
'apikey'=>'',
|
||||
];
|
||||
|
||||
// 应用修改
|
||||
foreach ($fieldsToReset as $key => $value) {
|
||||
if (array_key_exists($key, $options)) {
|
||||
$options[$key] = $value;
|
||||
}
|
||||
}
|
||||
// 5️⃣ 写回原文件(保持 $options = [...] 格式)
|
||||
$export = var_export($options, true);
|
||||
|
||||
// 把 array(...) 替换成 [...]
|
||||
$export = preg_replace(['/\barray \(/', '/\)(\s*[,;])?/'], ['[', ']$1'], $export);
|
||||
|
||||
// 构造完整内容
|
||||
$content = <<<PHP
|
||||
<?php
|
||||
|
||||
\$options = $export;
|
||||
|
||||
PHP;
|
||||
|
||||
// 写入文件
|
||||
file_put_contents($source, $content);
|
||||
|
||||
echo "✅ config.php 已清理敏感信息,可安全提交。\n";
|
||||
Reference in New Issue
Block a user