Spaces:
Runtime error
Runtime error
| # 爬取密码配置说明 | |
| ## 🔐 密码说明 | |
| 系统使用环境变量 `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` - 服务器代码(密码验证逻辑) | |