AdminLTE3

This commit is contained in:
2025-10-26 22:14:47 +09:00
parent 291fc63a4c
commit 9974811a3e
226 changed files with 88284 additions and 3406 deletions

View File

@@ -0,0 +1,63 @@
# AdminLTE CSP Fix - Исправление Content Security Policy
## Проблема
Content Security Policy (CSP) блокировал загрузку jQuery и Bootstrap из CDN, что приводило к ошибкам:
```
Content-Security-Policy: The page's settings blocked a script (script-src-elem) at https://code.jquery.com/jquery-3.6.0.min.js
Content-Security-Policy: The page's settings blocked a script (script-src-elem) at https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js
```
## Причина
В server.js в настройках helmet CSP для `scriptSrc` отсутствовали домены:
- `https://code.jquery.com` (для jQuery)
- `https://cdn.jsdelivr.net` (для Bootstrap)
## Решение
Обновлены CSP настройки в `/server.js`:
### ДО:
```javascript
scriptSrc: ["'self'", "'unsafe-inline'", "https://cdnjs.cloudflare.com", "https://unpkg.com", "https://cdn.tailwindcss.com"],
```
### ПОСЛЕ:
```javascript
scriptSrc: ["'self'", "'unsafe-inline'", "https://cdnjs.cloudflare.com", "https://unpkg.com", "https://cdn.tailwindcss.com", "https://code.jquery.com", "https://cdn.jsdelivr.net"],
```
## Полная CSP конфигурация
```javascript
app.use(helmet({
contentSecurityPolicy: {
directives: {
defaultSrc: ["'self'"],
styleSrc: ["'self'", "'unsafe-inline'", "https://fonts.googleapis.com", "https://cdnjs.cloudflare.com", "https://cdn.jsdelivr.net", "https://unpkg.com", "https://cdn.tailwindcss.com"],
fontSrc: ["'self'", "https://fonts.gstatic.com", "https://cdnjs.cloudflare.com"],
scriptSrc: ["'self'", "'unsafe-inline'", "https://cdnjs.cloudflare.com", "https://unpkg.com", "https://cdn.tailwindcss.com", "https://code.jquery.com", "https://cdn.jsdelivr.net"],
imgSrc: ["'self'", "data:", "https:"],
connectSrc: ["'self'", "ws:", "wss:", "https://cdnjs.cloudflare.com", "https://cdn.jsdelivr.net", "https://unpkg.com", "https://fonts.googleapis.com", "https://fonts.gstatic.com", "https://cdn.tailwindcss.com"]
}
}
}));
```
## Результат
✅ AdminLTE 3 теперь работает полностью:
- ✅ CSS стили загружаются
- ✅ jQuery загружается без ошибок CSP
- ✅ Bootstrap загружается без ошибок CSP
- ✅ AdminLTE JavaScript функции работают
- ✅ Интерактивные элементы функциональны
## Тестирование
После исправления CSP:
1. Перезапустить сервер: `npm start`
2. Открыть админку: `http://localhost:3000/admin`
3. Проверить консоль браузера - ошибки CSP исчезли
4. Проверить функциональность: навигация, выпадающие меню, модальные окна
## Примечания
- Исправление обеспечивает безопасность через CSP при разрешении необходимых CDN
- AdminLTE теперь полностью функциональна с корейской локализацией
- Все зависимости загружаются правильно