Aplicación de chat construida con PHP, SQLite y JavaScript. Migrada desde Node.js para mayor simplicidad y compatibilidad con hosting tradicional.
- Hosting más económico: Compatible con hosting compartido
- Configuración simple: Sin dependencias complejas
- Mayor compatibilidad: Funciona en cualquier servidor web
- Mantenimiento fácil: Código más directo y comprensible
- ✅ Chat multi-sala (General, Gaming, Música)
- ✅ Sistema de autenticación completo
- ✅ Panel de administración con todas las herramientas
- ✅ Base de datos SQLite con misma estructura
- ✅ Interfaz moderna idéntica a la versión Node.js
- ✅ Seguridad robusta con validaciones y sanitización
- 🔄 WebSockets → Polling: Actualización cada 3 segundos
- 🔄 Express.js → PHP nativo: Sin frameworks pesados
- 🔄 Socket.IO → Fetch API: Comunicación REST
- 🔄 Tiempo real → Simulado: Funcionalidad equivalente
- PHP 7.4+ con extensión SQLite
- Servidor web (Apache/Nginx)
- Navegador moderno
-
Subir archivos a tu servidor web:
# Subir toda la carpeta public/ a tu hosting -
Crear primer administrador:
http://tu-dominio.com/create_admin.php- Usuario:
admin - Contraseña:
admin123
- Usuario:
-
Eliminar script de instalación:
rm create_admin.php
-
¡Listo! Accede al chat:
http://tu-dominio.com/index.php
El archivo .htaccess incluido configura automáticamente:
- Protección de archivos sensibles
- Headers de seguridad
- Compresión y cache
- Redirecciones seguras
public/
├── index.php # 🏠 Página principal (login + chat)
├── auth.php # 🔐 Autenticación (login, registro, logout)
├── register.php # 📝 Registro de usuarios
├── admin.php # 👑 Panel de administración
├── config.php # ⚙️ Configuración general
├── create_admin.php # 🛠️ Script inicial (eliminar después)
├── .htaccess # 🛡️ Configuración Apache
├── api/
│ ├── messages.php # 💬 API de mensajes
│ └── users.php # 👥 API de usuarios
├── css/
│ └── styles.css # 🎨 Estilos CSS
├── js/
│ └── diagnostics.js # 🔍 Diagnósticos (opcional)
└── chat.db # 💾 Base de datos SQLite (se crea automáticamente)
- Chat Principal:
/index.php - Registro:
/register.php - Panel Admin:
/admin.php(solo administradores) - API Mensajes:
/api/messages.php - API Usuarios:
/api/users.php
- Total de usuarios activos
- Usuarios baneados
- Mensajes totales
- Mensajes eliminados
- Usuarios: Banear, desbanear, promover a admin
- Mensajes: Eliminar contenido inapropiado
- Monitoreo: Ver actividad reciente
- Seguridad: Control de acceso
- Sanitización XSS: Todos los inputs son limpiados
- Validación de entrada: Longitud y formato verificados
- Control de sesiones: Tokens seguros con expiración
- Rate limiting: Prevención de spam y ataques
- Archivos protegidos: Base de datos y configuración inaccesibles
- Contraseñas hasheadas con
password_hash() - Sesiones con tokens únicos
- Expiración automática de sesiones
- Control de usuarios baneados
- Cache de archivos estáticos: CSS, JS, imágenes
- Compresión automática: Reducción de ancho de banda
- Consultas optimizadas: Índices en base de datos
- Polling inteligente: Actualización eficiente cada 3 segundos
- Móviles: Interfaz adaptada para pantallas pequeñas
- Tablets: Layout optimizado para tablets
- Desktop: Experiencia completa en escritorio
- Cross-browser: Compatible con todos los navegadores modernos
Edita config.php para personalizar:
// Límites de mensajes
define('MESSAGE_MAX_LENGTH', 1000);
// Nuevas salas de chat
define('DEFAULT_ROOMS', [
'general' => ['name' => 'General', 'icon' => 'fas fa-hashtag'],
'nueva_sala' => ['name' => 'Mi Sala', 'icon' => 'fas fa-star']
]);
// Configuración de archivos
define('MAX_FILE_SIZE', 20 * 1024 * 1024); // 20MBModifica css/styles.css para cambiar:
- Colores del tema
- Tipografías
- Espaciado y layout
- Animaciones
Error de permisos SQLite:
chmod 666 chat.db
chmod 777 ./Sesiones no funcionan:
# Verificar configuración PHP
php -i | grep session.save_pathSQLite no disponible:
# Verificar extensión
php -m | grep sqlite- Documentación completa:
README_PHP.md - Configuración:
config.php - Logs: Revisar logs del servidor web
- Sin dependencias de Node.js
- Configuración mínima
- Hosting económico
- Mantenimiento sencillo
- Funciona en hosting compartido
- Compatible con cPanel
- Sin configuración de servidor compleja
- Backup simple (solo archivos PHP + SQLite)
- Menor uso de recursos
- Inicio rápido
- Sin gestión de procesos
- Cache automático del servidor web
- Personalizar diseño según tus necesidades
- Configurar backup automático de
chat.db - Agregar funcionalidades como archivos adjuntos
- Optimizar para tu hosting específico
- Configurar SSL para mayor seguridad
MIT License - Libre para uso personal y comercial.
¡Las contribuciones son bienvenidas!
- Fork el proyecto
- Crea una rama para tu feature
- Commit tus cambios
- Abre un Pull Request
Funcionalidad completa ✅ Fácil de mantener ✅ Hosting económico ✅
¡Disfruta tu aplicación de chat PHP moderna y eficiente! 🚀