up
This commit is contained in:
Executable
+190
@@ -0,0 +1,190 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ============================================
|
||||
# 🔍 Script de Verificación de Cache
|
||||
# ============================================
|
||||
|
||||
echo "═══════════════════════════════════════════"
|
||||
echo "🔍 VERIFICANDO CONFIGURACIÓN ANTI-CACHÉ"
|
||||
echo "═══════════════════════════════════════════"
|
||||
echo ""
|
||||
|
||||
# Colores
|
||||
GREEN='\033[0;32m'
|
||||
RED='\033[0;31m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# URL a verificar (cambiar según tu instalación)
|
||||
URL="http://localhost:8080/conversations.php"
|
||||
|
||||
# Si se pasa un argumento, usarlo como URL
|
||||
if [ ! -z "$1" ]; then
|
||||
URL="$1"
|
||||
fi
|
||||
|
||||
echo "📍 URL a verificar: $URL"
|
||||
echo ""
|
||||
|
||||
# Verificar headers HTTP
|
||||
echo "🔍 Verificando headers HTTP..."
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
|
||||
HEADERS=$(curl -I -s "$URL")
|
||||
|
||||
# Función para verificar header
|
||||
check_header() {
|
||||
local header_name="$1"
|
||||
local expected_value="$2"
|
||||
|
||||
if echo "$HEADERS" | grep -qi "$header_name"; then
|
||||
local actual_value=$(echo "$HEADERS" | grep -i "$header_name" | cut -d: -f2- | tr -d '\r\n' | sed 's/^[[:space:]]*//')
|
||||
echo -e "${GREEN}✅ $header_name:${NC} $actual_value"
|
||||
|
||||
if [ ! -z "$expected_value" ]; then
|
||||
if echo "$actual_value" | grep -qi "$expected_value"; then
|
||||
echo -e " ${GREEN}→ Contiene '$expected_value' ✓${NC}"
|
||||
else
|
||||
echo -e " ${YELLOW}⚠️ No contiene '$expected_value' esperado${NC}"
|
||||
fi
|
||||
fi
|
||||
return 0
|
||||
else
|
||||
echo -e "${RED}❌ $header_name: NO ENCONTRADO${NC}"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
echo ""
|
||||
echo "1️⃣ Cache-Control"
|
||||
check_header "Cache-Control" "no-store"
|
||||
|
||||
echo ""
|
||||
echo "2️⃣ Pragma"
|
||||
check_header "Pragma" "no-cache"
|
||||
|
||||
echo ""
|
||||
echo "3️⃣ Expires"
|
||||
check_header "Expires" "1970"
|
||||
|
||||
echo ""
|
||||
echo "4️⃣ Content-Type"
|
||||
check_header "Content-Type" "text/html"
|
||||
|
||||
echo ""
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
echo ""
|
||||
|
||||
# Verificar contenido HTML
|
||||
echo "🔍 Verificando meta tags en HTML..."
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
|
||||
CONTENT=$(curl -s "$URL")
|
||||
|
||||
check_meta() {
|
||||
local meta_name="$1"
|
||||
local search_pattern="$2"
|
||||
|
||||
if echo "$CONTENT" | grep -qi "$search_pattern"; then
|
||||
echo -e "${GREEN}✅ Meta tag '$meta_name' encontrado${NC}"
|
||||
return 0
|
||||
else
|
||||
echo -e "${RED}❌ Meta tag '$meta_name' NO encontrado${NC}"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
echo ""
|
||||
check_meta "Cache-Control" 'meta.*http-equiv.*Cache-Control.*no-cache'
|
||||
check_meta "Pragma" 'meta.*http-equiv.*Pragma.*no-cache'
|
||||
check_meta "Expires" 'meta.*http-equiv.*Expires.*0'
|
||||
|
||||
echo ""
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
echo ""
|
||||
|
||||
# Verificar cache busting en scripts
|
||||
echo "🔍 Verificando cache busting en scripts..."
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
|
||||
if echo "$CONTENT" | grep -qE 'chat-common\.js\?v=[0-9]+\.[0-9]+'; then
|
||||
VERSION=$(echo "$CONTENT" | grep -oE 'chat-common\.js\?v=[0-9]+\.[0-9]+\.[0-9]+' | head -1)
|
||||
echo -e "${GREEN}✅ Cache busting encontrado:${NC} $VERSION"
|
||||
|
||||
# Extraer solo el número de versión
|
||||
VERSION_NUMBER=$(echo "$VERSION" | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
|
||||
echo -e " ${GREEN}→ Versión actual:${NC} $VERSION_NUMBER"
|
||||
else
|
||||
echo -e "${RED}❌ Cache busting NO encontrado o formato incorrecto${NC}"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
echo ""
|
||||
|
||||
# Verificar versión en consola
|
||||
if echo "$CONTENT" | grep -q "WHATSAPP BOT v1.2.1 - ANTI-CACHÉ ACTIVADO"; then
|
||||
echo -e "${GREEN}✅ Versión 1.2.1 con anti-caché confirmada${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⚠️ Versión no detectada o diferente${NC}"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "═══════════════════════════════════════════"
|
||||
echo "📊 RESUMEN"
|
||||
echo "═══════════════════════════════════════════"
|
||||
|
||||
# Contar checks exitosos y fallidos
|
||||
TOTAL_CHECKS=7
|
||||
PASSED=0
|
||||
FAILED=0
|
||||
|
||||
if echo "$HEADERS" | grep -qi "Cache-Control.*no-store"; then ((PASSED++)); else ((FAILED++)); fi
|
||||
if echo "$HEADERS" | grep -qi "Pragma.*no-cache"; then ((PASSED++)); else ((FAILED++)); fi
|
||||
if echo "$HEADERS" | grep -qi "Expires.*1970"; then ((PASSED++)); else ((FAILED++)); fi
|
||||
if echo "$CONTENT" | grep -qi 'meta.*Cache-Control.*no-cache'; then ((PASSED++)); else ((FAILED++)); fi
|
||||
if echo "$CONTENT" | grep -qi 'meta.*Pragma.*no-cache'; then ((PASSED++)); else ((FAILED++)); fi
|
||||
if echo "$CONTENT" | grep -qi 'meta.*Expires.*0'; then ((PASSED++)); else ((FAILED++)); fi
|
||||
if echo "$CONTENT" | grep -qE 'chat-common\.js\?v=[0-9]+'; then ((PASSED++)); else ((FAILED++)); fi
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}✅ Checks exitosos: $PASSED/$TOTAL_CHECKS${NC}"
|
||||
echo -e "${RED}❌ Checks fallidos: $FAILED/$TOTAL_CHECKS${NC}"
|
||||
|
||||
echo ""
|
||||
|
||||
if [ $FAILED -eq 0 ]; then
|
||||
echo -e "${GREEN}═══════════════════════════════════════════${NC}"
|
||||
echo -e "${GREEN}🎉 ¡TODO ESTÁ CONFIGURADO CORRECTAMENTE!${NC}"
|
||||
echo -e "${GREEN}═══════════════════════════════════════════${NC}"
|
||||
echo ""
|
||||
echo "✅ La página está configurada para NO cachearse"
|
||||
echo "✅ Los scripts tienen cache busting activo"
|
||||
echo "✅ Los usuarios verán siempre la versión más reciente"
|
||||
echo ""
|
||||
echo "💡 Si aún ves problemas, pide al usuario hacer:"
|
||||
echo " - Ctrl+Shift+R (hard reload)"
|
||||
echo " - Limpiar caché del navegador"
|
||||
exit 0
|
||||
else
|
||||
echo -e "${YELLOW}═══════════════════════════════════════════${NC}"
|
||||
echo -e "${YELLOW}⚠️ HAY PROBLEMAS DE CONFIGURACIÓN${NC}"
|
||||
echo -e "${YELLOW}═══════════════════════════════════════════${NC}"
|
||||
echo ""
|
||||
echo "🔧 Posibles soluciones:"
|
||||
echo ""
|
||||
echo "1. Verifica que mod_headers esté habilitado en Apache:"
|
||||
echo " sudo a2enmod headers"
|
||||
echo " sudo systemctl restart apache2"
|
||||
echo ""
|
||||
echo "2. Verifica que .htaccess se esté leyendo:"
|
||||
echo " - Asegúrate que AllowOverride All esté configurado"
|
||||
echo ""
|
||||
echo "3. Verifica que conversations.php tenga los headers PHP:"
|
||||
echo " - Busca 'header(\"Cache-Control' al inicio del archivo"
|
||||
echo ""
|
||||
echo "4. Si usas Nginx en lugar de Apache:"
|
||||
echo " - Los headers deben configurarse en el server block"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user