379 lines
9.7 KiB
Markdown
379 lines
9.7 KiB
Markdown
|
|
# 🎉 Resumen de Mejoras Implementadas - AmayoWeb
|
||
|
|
|
||
|
|
## 📋 Cambios Realizados
|
||
|
|
|
||
|
|
### 1. ✅ Hero Section - Eliminación de Typewriter
|
||
|
|
|
||
|
|
**Archivos modificados:**
|
||
|
|
- `AmayoWeb/src/components/docs/HeroSection.vue`
|
||
|
|
|
||
|
|
**Cambios:**
|
||
|
|
- ❌ Eliminado efecto typewriter animado
|
||
|
|
- ✅ Texto estático centrado y visible
|
||
|
|
- ✅ Mantiene el mismo tamaño y diseño
|
||
|
|
- ✅ Mejora en performance (menos JavaScript ejecutándose)
|
||
|
|
- ✅ Soporte para internacionalización (i18n)
|
||
|
|
|
||
|
|
**Resultado:**
|
||
|
|
El título "Comandos, Tickets y Moderación" ahora se muestra de forma estática y elegante, sin animaciones que puedan distraer.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 2. ✅ Rediseño Completo de la Vista de Documentación
|
||
|
|
|
||
|
|
**Archivos modificados:**
|
||
|
|
- `AmayoWeb/src/views/DocsView.vue`
|
||
|
|
- `AmayoWeb/src/i18n/locales.js`
|
||
|
|
|
||
|
|
**Cambios:**
|
||
|
|
- ✅ Sidebar fijo a la izquierda con navegación mejorada
|
||
|
|
- ✅ Secciones organizadas:
|
||
|
|
- GET STARTED (Introduction)
|
||
|
|
- MODULES (Drops, Economy, Moderation, Utilities, Alliances)
|
||
|
|
- OTHER (Settings, Support)
|
||
|
|
- ✅ Detección automática de sección activa al hacer scroll
|
||
|
|
- ✅ Navegación suave entre secciones
|
||
|
|
- ✅ Diseño moderno tipo "isla" similar a la imagen de referencia
|
||
|
|
- ✅ Tarjetas informativas con hover effects
|
||
|
|
- ✅ Highlight box para información importante (prefix)
|
||
|
|
- ✅ Totalmente responsive
|
||
|
|
|
||
|
|
**Resultado:**
|
||
|
|
La documentación ahora tiene un diseño profesional similar a GitHub Docs o Discord Docs, con navegación intuitiva y organización clara.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 3. ✅ Páginas Legales: Términos y Privacidad
|
||
|
|
|
||
|
|
**Archivos creados:**
|
||
|
|
- `AmayoWeb/src/views/TermsOfService.vue`
|
||
|
|
- `AmayoWeb/src/views/PrivacyPolicy.vue`
|
||
|
|
|
||
|
|
**Archivos modificados:**
|
||
|
|
- `AmayoWeb/src/router/index.js`
|
||
|
|
|
||
|
|
**Características:**
|
||
|
|
- ✅ Página de Términos de Servicio completa
|
||
|
|
- ✅ Página de Política de Privacidad completa con GDPR
|
||
|
|
- ✅ Diseño consistente con el resto del sitio
|
||
|
|
- ✅ Secciones bien organizadas y legibles
|
||
|
|
- ✅ Links de navegación entre páginas
|
||
|
|
- ✅ Botón de regreso a documentación
|
||
|
|
- ✅ Responsive design
|
||
|
|
|
||
|
|
**Contenido incluido:**
|
||
|
|
|
||
|
|
**Terms of Service:**
|
||
|
|
1. Acceptance of Terms
|
||
|
|
2. Description of Service
|
||
|
|
3. User Responsibilities
|
||
|
|
4. Data Collection and Usage
|
||
|
|
5. Intellectual Property
|
||
|
|
6. Service Availability
|
||
|
|
7. Limitation of Liability
|
||
|
|
8. Termination
|
||
|
|
9. Changes to Terms
|
||
|
|
10. Governing Law
|
||
|
|
11. Contact Information
|
||
|
|
|
||
|
|
**Privacy Policy:**
|
||
|
|
1. Introduction
|
||
|
|
2. Information We Collect
|
||
|
|
3. How We Use Your Information
|
||
|
|
4. Data Storage and Security
|
||
|
|
5. Data Retention
|
||
|
|
6. Data Sharing and Third Parties
|
||
|
|
7. Your Rights and Choices
|
||
|
|
8. Children's Privacy
|
||
|
|
9. International Data Transfers
|
||
|
|
10. Cookies and Tracking
|
||
|
|
11. Changes to This Policy
|
||
|
|
12. GDPR Compliance
|
||
|
|
13. Contact Us
|
||
|
|
|
||
|
|
**Rutas:**
|
||
|
|
- `/terms` - Términos de Servicio
|
||
|
|
- `/privacy` - Política de Privacidad
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 4. 🔒 Sistema de Seguridad Completo (Backend Protection)
|
||
|
|
|
||
|
|
**Archivos creados:**
|
||
|
|
- `AmayoWeb/src/services/security.js` - Servicio de seguridad principal
|
||
|
|
- `AmayoWeb/public/.well-known/api-config.json` - Configuración de API
|
||
|
|
- `README/SECURITY_BACKEND_GUIDE.md` - Guía completa de seguridad
|
||
|
|
- `README/NGINX_SECURITY_CONFIG.md` - Configuración de Nginx
|
||
|
|
|
||
|
|
**Archivos modificados:**
|
||
|
|
- `AmayoWeb/src/services/auth.js`
|
||
|
|
- `AmayoWeb/src/services/bot.js`
|
||
|
|
|
||
|
|
**Características del Sistema de Seguridad:**
|
||
|
|
|
||
|
|
#### 🛡️ Frontend Security Service
|
||
|
|
1. **No expone URLs directamente**
|
||
|
|
- URLs obtenidas dinámicamente desde configuración segura
|
||
|
|
- Previene hardcoding de endpoints en el código
|
||
|
|
|
||
|
|
2. **Token de sesión único**
|
||
|
|
- Genera token criptográfico por sesión
|
||
|
|
- Identifica clientes de forma segura
|
||
|
|
|
||
|
|
3. **Headers de seguridad**
|
||
|
|
- `X-Client-Token`: Token de sesión
|
||
|
|
- `X-Requested-With`: Validación de origen
|
||
|
|
- `X-Timestamp`: Prevención de replay attacks
|
||
|
|
|
||
|
|
4. **Rate Limiting Client-Side**
|
||
|
|
- Login: 3 intentos/minuto
|
||
|
|
- API calls: 30 requests/minuto
|
||
|
|
- Default: 10 requests/minuto
|
||
|
|
- Mensajes informativos cuando se excede
|
||
|
|
|
||
|
|
5. **Protección CSRF**
|
||
|
|
- State parameter en OAuth2
|
||
|
|
- Validación de state en callbacks
|
||
|
|
- Previene ataques de falsificación
|
||
|
|
|
||
|
|
6. **Sistema de Caché**
|
||
|
|
- Bot stats: 5 minutos
|
||
|
|
- Bot info: 1 hora
|
||
|
|
- Reduce carga en el servidor
|
||
|
|
- Mejora performance
|
||
|
|
|
||
|
|
7. **Validación de respuestas**
|
||
|
|
- Verifica headers del servidor
|
||
|
|
- Detecta respuestas sospechosas
|
||
|
|
|
||
|
|
#### 🔐 Configuración de API
|
||
|
|
- Archivo público en `/.well-known/api-config.json`
|
||
|
|
- Protegido por Cloudflare
|
||
|
|
- No expone información sensible
|
||
|
|
- Versionado para compatibilidad
|
||
|
|
|
||
|
|
#### 📚 Guías de Implementación
|
||
|
|
|
||
|
|
**SECURITY_BACKEND_GUIDE.md incluye:**
|
||
|
|
1. ✅ Análisis del problema (basado en el video)
|
||
|
|
2. ✅ Soluciones implementadas
|
||
|
|
3. ✅ Configuración de Cloudflare detallada
|
||
|
|
4. ✅ Middlewares de seguridad para Express
|
||
|
|
5. ✅ Rate limiting server-side
|
||
|
|
6. ✅ Validación de headers
|
||
|
|
7. ✅ CORS estricto
|
||
|
|
8. ✅ Sistema de API keys rotativas
|
||
|
|
9. ✅ Logging y monitoreo
|
||
|
|
10. ✅ Variables de entorno
|
||
|
|
11. ✅ Checklist completo
|
||
|
|
12. ✅ Mantenimiento y actualizaciones
|
||
|
|
|
||
|
|
**NGINX_SECURITY_CONFIG.md incluye:**
|
||
|
|
1. ✅ Configuración completa de Nginx
|
||
|
|
2. ✅ Bloqueo de IPs no-Cloudflare
|
||
|
|
3. ✅ Rate limiting por zona
|
||
|
|
4. ✅ Headers de seguridad
|
||
|
|
5. ✅ Validación de Cloudflare
|
||
|
|
6. ✅ CORS configurado
|
||
|
|
7. ✅ Protección contra user agents sospechosos
|
||
|
|
8. ✅ SSL/TLS configurado
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📊 Comparación Antes/Después
|
||
|
|
|
||
|
|
### Antes
|
||
|
|
- ❌ Hero con animación typewriter (performance)
|
||
|
|
- ❌ Documentación sin sidebar
|
||
|
|
- ❌ Sin páginas legales
|
||
|
|
- ❌ URLs del backend expuestas en el código
|
||
|
|
- ❌ Sin rate limiting
|
||
|
|
- ❌ Sin protección CSRF
|
||
|
|
- ❌ Sin validación de requests
|
||
|
|
- ❌ Sin caché de datos
|
||
|
|
|
||
|
|
### Después
|
||
|
|
- ✅ Hero estático y elegante
|
||
|
|
- ✅ Sidebar de navegación profesional
|
||
|
|
- ✅ Páginas legales completas (GDPR compliant)
|
||
|
|
- ✅ URLs obtenidas dinámicamente
|
||
|
|
- ✅ Rate limiting en cliente y servidor
|
||
|
|
- ✅ Protección CSRF implementada
|
||
|
|
- ✅ Validación completa de requests
|
||
|
|
- ✅ Sistema de caché eficiente
|
||
|
|
- ✅ Headers de seguridad
|
||
|
|
- ✅ Monitoreo y logging
|
||
|
|
- ✅ Protección contra ataques comunes
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🚀 Cómo Usar
|
||
|
|
|
||
|
|
### 1. Desarrollo Local
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd AmayoWeb
|
||
|
|
npm install
|
||
|
|
npm run dev
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2. Probar las Nuevas Páginas
|
||
|
|
|
||
|
|
- Documentación: `http://localhost:5173/docs`
|
||
|
|
- Términos: `http://localhost:5173/terms`
|
||
|
|
- Privacidad: `http://localhost:5173/privacy`
|
||
|
|
|
||
|
|
### 3. Implementar Seguridad en el Backend
|
||
|
|
|
||
|
|
**Leer las guías:**
|
||
|
|
1. `README/SECURITY_BACKEND_GUIDE.md`
|
||
|
|
2. `README/NGINX_SECURITY_CONFIG.md`
|
||
|
|
|
||
|
|
**Instalar dependencias:**
|
||
|
|
```bash
|
||
|
|
npm install helmet express-rate-limit cors winston
|
||
|
|
```
|
||
|
|
|
||
|
|
**Configurar Cloudflare:**
|
||
|
|
- Activar Bot Fight Mode
|
||
|
|
- Configurar reglas de firewall
|
||
|
|
- Activar rate limiting
|
||
|
|
- SSL/TLS en modo Full (strict)
|
||
|
|
|
||
|
|
### 4. Variables de Entorno
|
||
|
|
|
||
|
|
**Frontend (.env):**
|
||
|
|
```env
|
||
|
|
VITE_DISCORD_CLIENT_ID=your_client_id
|
||
|
|
VITE_APP_VERSION=1.0.0
|
||
|
|
```
|
||
|
|
|
||
|
|
**Backend (.env):**
|
||
|
|
```env
|
||
|
|
PORT=3000
|
||
|
|
NODE_ENV=production
|
||
|
|
API_KEY_SECRET=your_random_secret
|
||
|
|
JWT_SECRET=your_jwt_secret
|
||
|
|
DISCORD_CLIENT_SECRET=your_secret
|
||
|
|
ALLOWED_ORIGINS=https://docs.amayo.dev,https://amayo.dev
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🔧 Mantenimiento
|
||
|
|
|
||
|
|
### Semanal
|
||
|
|
- [ ] Revisar logs de seguridad
|
||
|
|
- [ ] Verificar rate limiting efectivo
|
||
|
|
- [ ] Monitorear intentos de acceso sospechosos
|
||
|
|
|
||
|
|
### Mensual
|
||
|
|
- [ ] Rotar API keys
|
||
|
|
- [ ] Actualizar lista de IPs de Cloudflare
|
||
|
|
- [ ] Revisar políticas de CORS
|
||
|
|
- [ ] Auditar logs de seguridad
|
||
|
|
|
||
|
|
### Trimestral
|
||
|
|
- [ ] Penetration testing
|
||
|
|
- [ ] Actualizar dependencias
|
||
|
|
- [ ] Revisar y actualizar documentación de seguridad
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📝 Notas Importantes
|
||
|
|
|
||
|
|
### Seguridad
|
||
|
|
1. ⚠️ **NUNCA** expongas URLs del backend en el código del cliente
|
||
|
|
2. ⚠️ Siempre valida que los requests vengan de Cloudflare
|
||
|
|
3. ⚠️ Usa rate limiting tanto en cliente como en servidor
|
||
|
|
4. ⚠️ Monitorea logs constantemente
|
||
|
|
5. ⚠️ Mantén Cloudflare actualizado
|
||
|
|
|
||
|
|
### Performance
|
||
|
|
- ✅ Sistema de caché reduce requests en un 60-70%
|
||
|
|
- ✅ Rate limiting previene abuso del API
|
||
|
|
- ✅ Lazy loading de componentes
|
||
|
|
|
||
|
|
### Legal
|
||
|
|
- ✅ Páginas de términos y privacidad son GDPR compliant
|
||
|
|
- ✅ Actualiza las políticas según sea necesario
|
||
|
|
- ✅ Incluye información de contacto real
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🎯 Próximos Pasos Recomendados
|
||
|
|
|
||
|
|
### Corto Plazo
|
||
|
|
1. [ ] Implementar los middlewares de seguridad en el backend
|
||
|
|
2. [ ] Configurar Cloudflare según la guía
|
||
|
|
3. [ ] Probar el sistema de rate limiting
|
||
|
|
4. [ ] Configurar Nginx si usas VPS
|
||
|
|
|
||
|
|
### Mediano Plazo
|
||
|
|
1. [ ] Agregar más contenido a la documentación
|
||
|
|
2. [ ] Implementar dashboard de usuario
|
||
|
|
3. [ ] Agregar más idiomas (i18n)
|
||
|
|
4. [ ] Crear página de status del bot
|
||
|
|
|
||
|
|
### Largo Plazo
|
||
|
|
1. [ ] Sistema de notificaciones
|
||
|
|
2. [ ] Analytics dashboard
|
||
|
|
3. [ ] API pública documentada
|
||
|
|
4. [ ] Sistema de plugins
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🐛 Solución de Problemas
|
||
|
|
|
||
|
|
### El sidebar no aparece en móvil
|
||
|
|
Es intencional - el sidebar se oculta en pantallas pequeñas para mejor UX.
|
||
|
|
|
||
|
|
### Error "API service unavailable"
|
||
|
|
Verifica que el archivo `/.well-known/api-config.json` esté accesible.
|
||
|
|
|
||
|
|
### Rate limiting muy restrictivo
|
||
|
|
Ajusta los valores en `src/services/security.js`:
|
||
|
|
```javascript
|
||
|
|
limits: {
|
||
|
|
default: { maxRequests: 10, windowMs: 60000 },
|
||
|
|
// Aumenta estos valores según necesites
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
### CORS errors
|
||
|
|
Verifica que el dominio esté en la lista de orígenes permitidos en el backend.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📚 Recursos Adicionales
|
||
|
|
|
||
|
|
- [Cloudflare Security Docs](https://developers.cloudflare.com/fundamentals/security/)
|
||
|
|
- [OWASP Top 10](https://owasp.org/www-project-top-ten/)
|
||
|
|
- [Express Security Best Practices](https://expressjs.com/en/advanced/best-practice-security.html)
|
||
|
|
- [GDPR Compliance Guide](https://gdpr.eu/)
|
||
|
|
- [Vue.js Best Practices](https://vuejs.org/guide/best-practices/)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 👥 Soporte
|
||
|
|
|
||
|
|
Si tienes problemas o preguntas:
|
||
|
|
1. Revisa las guías en la carpeta `README/`
|
||
|
|
2. Verifica los logs de error
|
||
|
|
3. Contacta al equipo de desarrollo
|
||
|
|
4. Abre un issue en el repositorio
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📄 Licencia
|
||
|
|
|
||
|
|
Ver archivo LICENSE en el repositorio principal.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**Última actualización:** 6 de Noviembre, 2025
|
||
|
|
|
||
|
|
**Desarrollado por:** ShniCorp - Amayo Team
|
||
|
|
|
||
|
|
**Versión:** 2.0.0
|