File size: 4,249 Bytes
7f22d3c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
# 爬取密码配置说明

## 🔐 密码说明

系统使用环境变量 `CRAWL_PASSWORD` 来配置爬取密码。这个密码用于保护以下功能:

- ✅ URL爬取功能
- ✅ CSV批量导入功能
- ✅ XML Dump上传功能

## 📋 当前状态

### 检查密码配置

运行以下命令检查密码是否已配置:

```bash
# 检查.env文件中是否配置了密码
grep CRAWL_PASSWORD .env
```

### 如果未配置

如果`.env`文件中没有`CRAWL_PASSWORD`配置,系统会:
- 显示错误:"服务器未配置爬取密码,请联系管理员"
- 阻止所有需要密码的操作

## 🔧 如何设置密码

### 方法1: 在.env文件中配置(推荐)

1. **编辑.env文件**
   ```bash
   # 在项目根目录编辑.env文件
   nano .env
   # 或
   vim .env
   ```

2. **添加密码配置**
   ```bash
   CRAWL_PASSWORD=your-secure-password-here
   ```

3. **重启服务器**
   ```bash
   # 停止服务器
   pkill -f web_server.py
   
   # 重新启动
   python3 web_server.py --mode user --port 8000
   ```

### 方法2: 使用环境变量(临时)

```bash
# 设置环境变量
export CRAWL_PASSWORD=your-secure-password-here

# 启动服务器
python3 web_server.py --mode user --port 8000
```

### 方法3: 复制示例文件

```bash
# 如果.env文件不存在,从示例文件创建
cp .env.example .env

# 然后编辑.env文件,设置密码
nano .env
```

## 🔒 密码安全建议

1. **使用强密码**
   - 至少12个字符
   - 包含大小写字母、数字、特殊字符
   - 例如:`MySecure@Pass123!`

2. **不要分享密码**
   - 只在需要访问的用户之间分享
   - 不要在代码中硬编码密码

3. **定期更换**
   - 建议每3-6个月更换一次
   - 如果怀疑泄露,立即更换

4. **保护.env文件**
   - `.env`文件已在`.gitignore`   - 不要将`.env`文件提交到Git仓库
   - 确保文件权限正确(仅所有者可读)

## 🎯 使用密码

配置密码后,在前端界面使用以下功能时需要输入密码:

### 1. URL爬取
- 在"URL Injection"区域
- 输入URL和密码
- 点击"Inject"按钮

### 2. CSV批量导入
- 在"Batch Import (Wiki Style)"区域
- 选择CSV文件
- 输入URL前缀(可选)
- 输入密码
- 点击"批量导入"按钮

### 3. Wiki Dump上传
- 在"Wiki Dump Import"区域
- 选择XML dump文件
- 输入Wiki基础URL(可选)
- 输入最大页面数(可选)
- 输入密码
- 点击"导入Dump"按钮

## ❓ 常见问题

### Q1: 密码是什么?

**A**: 密码是您在`.env`文件中配置的`CRAWL_PASSWORD`值。如果您没有配置,系统会提示错误。

### Q2: 如何查看当前配置的密码?

**A**: 密码存储在`.env`文件中。您可以查看:
```bash
grep CRAWL_PASSWORD .env
```

**注意**:出于安全考虑,不要在公共场所显示密码。

### Q3: 忘记密码怎么办?

**A**: 
1. 编辑`.env`文件
2. 修改`CRAWL_PASSWORD`的值
3. 重启服务器

### Q4: 如何重置密码?

**A**: 修改`.env`文件中的`CRAWL_PASSWORD`值即可。

### Q5: 密码错误怎么办?

**A**: 
1. 检查输入的密码是否正确
2. 检查`.env`文件中的密码配置
3. 确认没有多余的空格
4. 重启服务器使配置生效

## 🔍 验证密码配置

### 检查密码是否已配置

```bash
python3 -c "
import os
from dotenv import load_dotenv
load_dotenv()
password = os.getenv('CRAWL_PASSWORD', '')
if password:
    print('✅ 密码已配置')
    print(f'密码长度: {len(password)} 字符')
else:
    print('❌ 密码未配置')
    print('请在.env文件中设置 CRAWL_PASSWORD')
"
```

## 📝 示例配置

`.env`文件示例:

```bash
# 爬取密码配置
CRAWL_PASSWORD=MySecurePassword123!

# 其他配置...
QDRANT_URL=https://your-qdrant-instance.qdrant.io
QDRANT_API_KEY=your-api-key
GOOGLE_API_KEY=your-google-api-key
```

## ⚠️ 安全提醒

1. **不要将密码写入代码**
2. **不要将.env文件提交到Git**
3. **在生产环境使用HTTPS**
4. **限制服务器访问权限**
5. **定期更换密码**

## 📚 相关文档

- `.env.example` - 环境变量示例文件
- `CRAWL_PASSWORD_FEATURE.md` - 密码功能详细说明
- `web_server.py` - 服务器代码(密码验证逻辑)