Help
RSS
API
Feed
Maltego
Contact
Domain > meuhumor.com.br
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2013-06-14
141.101.117.144
(
ClassC
)
2025-08-05
172.67.159.11
(
ClassC
)
Port 443
HTTP/1.1 200 OKDate: Tue, 05 Aug 2025 10:45:43 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveX-Content-Type-Options: nosniffX-Frame-Options: DENYX-Xss-Protection: 1; modeblockCf-Ray: 96a5b4e06b4a9d6b-PDXCf-Cache-Status: DYNAMICAccess-Control-Allow-Origin: *Cache-Control: public, max-age0, must-revalidateServer: cloudflareVary: Accept-EncodingNel: {success_fraction:0,report_to:cf-nel,max_age:604800}Referrer-Policy: strict-origin-when-cross-originReport-To: {endpoints:{url:https:\/\/a.nel.cloudflare.com\/report\/v4?sFs5ZQvIQ%2FypJeR4T0uH0ITxErvNbRQkeNr9yX4s96LFkt%2BaKEYLxRxe2H%2FiO8nuLbGuerseLkvNmmh9TkwiavaBWzcki2UdvMJsj%2FGglErd9R9Q3YWwtroZqQy1irwBcmhc%3D},group:cf-nel,max_age:604800} !doctype html>html langpt-BR> head> meta charsetUTF-8 /> link relicon typeimage/svg+xml href/favicon.svg /> meta nameviewport contentwidthdevice-width, initial-scale1.0, minimum-scale1.0, maximum-scale5.0, viewport-fitcover /> title>Meu Humor | Saúde Mental/title> !-- Performance Optimization: Critical Resource Hints --> link relpreconnect hrefhttps://fonts.googleapis.com crossorigin> link relpreconnect hrefhttps://fonts.gstatic.com crossorigin> link reldns-prefetch hrefhttps://pagead2.googlesyndication.com> !-- Script para redirecionamento nativo --> script> // Detecta se está rodando em ambiente Capacitor (nativo) (function() { // Verifica se está em ambiente Capacitor const isCapacitor window.Capacitor && window.Capacitor.isNativePlatform && window.Capacitor.isNativePlatform(); if (isCapacitor) { // Se estiver na raiz (/), redireciona para /login if (window.location.pathname / || window.location.pathname /index.html) { window.location.replace(/login); } } })(); /script> !-- Script otimizado para remover opacity: 0 durante o pré-render --> script> // Esta função será executada durante o pré-render, removendo opacity: 0 dos estilos document.addEventListener(DOMContentLoaded, function() { // Adiciona uma classe no html para identificar que o JavaScript ainda não foi carregado completamente document.documentElement.classList.add(prerender); // Função otimizada para limpar opacity: 0 de elementos function removeOpacityZero() { // Usar querySelectorAll mais eficiente const elementsWithOpacity document.querySelectorAll(style*opacity); const elementsWithTransform document.querySelectorAll(style*transform); // Processar elementos com opacity elementsWithOpacity.forEach(function(el) { const style el.getAttribute(style); if (style && style.includes(opacity: 0)) { let newStyle style .replace(/opacity:\s*0(\s*;)?/g, ) .replace(/opacity: 0(\s*;)?/g, ) .replace(/;\s*$/, ); if (newStyle.trim() ) { el.removeAttribute(style); } else { el.setAttribute(style, newStyle); } } }); // Processar elementos com transform elementsWithTransform.forEach(function(el) { const style el.getAttribute(style); if (style) { let newStyle style .replace(/transform:\s*translateY\(\d+px\)(\s*;)?/g, ) .replace(/transform:\s*scale\(^)+\)(\s*;)?/g, ) .replace(/transform:^;+;?/g, ) .replace(/;\s*$/, ); if (newStyle.trim() ) { el.removeAttribute(style); } else { el.setAttribute(style, newStyle); } } }); } // Executa a função imediatamente removeOpacityZero(); // Observer otimizado com throttling let observerTimeout; const observer new MutationObserver(function(mutations) { clearTimeout(observerTimeout); observerTimeout setTimeout(removeOpacityZero, 100); }); // Observa mudanças no DOM de forma otimizada observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: style }); // Desconecta o observer quando o JavaScript completa o carregamento window.addEventListener(load, function() { setTimeout(function() { observer.disconnect(); document.documentElement.classList.remove(prerender); }, 300); }); }); /script> !-- Estilos críticos inline para melhor performance --> style> /* Critical CSS for better loading performance */ html.prerender style*opacity: 0, html.prerender style*opacity:0 { opacity: 1 !important; } html.prerender style*transform { transform: none !important; } /* Improved touch targets for better mobile usability */ button, rolebutton, inputtypebutton, inputtypesubmit { min-height: 44px; min-width: 44px; touch-action: manipulation; } /* Better tap highlighting */ * { -webkit-tap-highlight-color: rgba(12, 142, 231, 0.2); } /* Improved scrolling performance */ * { -webkit-overflow-scrolling: touch; overscroll-behavior: contain; } /* Font loading optimization */ body { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; } /* Loading skeleton optimization */ #loading-skeleton { will-change: opacity; } /style> !-- Meta tags para SEO e usabilidade --> meta namedescription contentMonitore e gerencie sua saúde mental com o Meu Humor. Registre seu humor diariamente, obtenha insights personalizados e acesse conteúdo especializado sobre saúde mental. /> meta namekeywords contentsaúde mental, registro de humor, ansiedade, depressão, bem-estar, mindfulness, autocuidado, prontuário, assistente IA /> meta nameauthor contentMeu Humor /> meta nameformat-detection contenttelephoneno /> meta namemobile-web-app-capable contentyes /> meta nameapple-mobile-web-app-capable contentyes /> meta nameapple-mobile-web-app-status-bar-style contentblack-translucent /> meta nameapple-mobile-web-app-title contentMeu Humor /> !-- Open Graph / Facebook --> meta propertyog:type contentwebsite /> meta propertyog:url contenthttps://meuhumor.com.br/ /> meta propertyog:title contentMeu Humor | Saúde Mental /> meta propertyog:description contentMonitore e gerencie sua saúde mental com o Meu Humor. Registre seu humor diariamente, obtenha insights personalizados e acesse conteúdo especializado. /> meta propertyog:image contenthttps://meuhumor.com.br/og-image.jpg /> !-- Twitter --> meta propertytwitter:card contentsummary_large_image /> meta propertytwitter:url contenthttps://meuhumor.com.br/ /> meta propertytwitter:title contentMeu Humor | Saúde Mental /> meta propertytwitter:description contentMonitore e gerencie sua saúde mental com o Meu Humor. Registre seu humor diariamente, obtenha insights personalizados e acesse conteúdo especializado. /> meta propertytwitter:image contenthttps://meuhumor.com.br/twitter-image.jpg /> !-- Preload de recursos críticos --> link relpreload href/src/assets/logo.svg asimage typeimage/svg+xml /> !-- Fonts otimizados para performance --> link hrefhttps://fonts.googleapis.com/css2?familyPoppins:wght@300;400;500;600;700&displayswap relstylesheet mediaprint onloadthis.mediaall> noscript>link hrefhttps://fonts.googleapis.com/css2?familyPoppins:wght@300;400;500;600;700&displayswap relstylesheet>/noscript> !-- Google AdSense com otimização --> script async srchttps://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?clientca-pub-1767421654516889 crossoriginanonymous>/script> !-- PWA --> link relmanifest href/manifest.json> meta nametheme-color content#0c8ee7> link relapple-touch-icon href/apple-touch-icon.png> script typemodule crossorigin src/assets/js/index-B2ixRMZY.js>/script> link relmodulepreload crossorigin href/assets/js/react-vendor-C6KDclV6.js> link relmodulepreload crossorigin href/assets/js/ui-motion-CXENPJnH.js> link relmodulepreload crossorigin href/assets/js/supabase-CoYRXSaH.js> link relmodulepreload crossorigin href/assets/js/router-CHRW9qXr.js> link relmodulepreload crossorigin href/assets/js/date-utils---vEU_Sd.js> link relmodulepreload crossorigin href/assets/js/ui-icons-DbBgQwb6.js> link relmodulepreload crossorigin href/assets/js/markdown-CksIeoUc.js> link relmodulepreload crossorigin href/assets/js/charts-DAa8Hvrq.js> link relstylesheet crossorigin href/assets/css/index-CnPPhUxa.css> /head> body> div idroot> !-- Fallback melhorado para crawlers e carregamento inicial --> noscript> div stylepadding: 2rem; text-align: center; max-width: 600px; margin: 0 auto; line-height: 1.6;> h1 stylecolor: #0c8ee7; margin-bottom: 1rem;>Meu Humor - Saúde Mental/h1> p stylemargin-bottom: 1rem;>Para utilizar o Meu Humor, é necessário habilitar o JavaScript no seu navegador./p> p>Monitore e gerencie sua saúde mental com o Meu Humor. Registre seu humor diariamente, obtenha insights personalizados e acesse conteúdo especializado sobre saúde mental./p> /div> /noscript> !-- Esqueleto de carregamento otimizado para melhor UX --> div idloading-skeleton styledisplay: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100vh; padding: 1rem; will-change: opacity;> div stylewidth: 120px; height: 40px; background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); background-size: 200% 100%; animation: shimmer 1.5s infinite; border-radius: 4px; margin-bottom: 2rem;>/div> div stylewidth: 80%; max-width: 800px; height: 300px; background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); background-size: 200% 100%; animation: shimmer 1.5s infinite; border-radius: 8px; margin-bottom: 2rem;>/div> div stylewidth: 60%; max-width: 600px; height: 40px; background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); background-size: 200% 100%; animation: shimmer 1.5s infinite; border-radius: 4px;>/div> /div> !-- Animação shimmer para o loading skeleton --> style> @keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } } /style> /div> !-- Dados estruturados otimizados para SEO --> script typeapplication/ld+json> { @context: https://schema.org, @type: WebApplication, name: Meu Humor, url: https://meuhumor.com.br, applicationCategory: HealthApplication, operatingSystem: Web, browserRequirements: Requires JavaScript. Requires HTML5., offers: { @type: AggregateOffer, priceCurrency: BRL, lowPrice: 0, highPrice: 39.90, offerCount: 3 }, aggregateRating: { @type: AggregateRating, ratingValue: 4.8, ratingCount: 150 }, description: Monitore e gerencie sua saúde mental com o Meu Humor. Registre seu humor diariamente, obtenha insights personalizados e acesse conteúdo especializado sobre saúde mental., featureList: Registro diário de humor, Análise de padrões emocionais, Conteúdo especializado em saúde mental, Assistente IA personalizado, Prontuários de saúde mental, Privacidade e segurança de dados } /script> !-- Script principal da aplicação --> !-- Script para remover o esqueleto quando a aplicação carregar --> script> // Variável para controlar se o esqueleto já foi removido let skeletonRemoved false; // Função para remover o esqueleto de carregamento function removeLoadingSkeleton() { const root document.getElementById(root); const skeleton document.getElementById(loading-skeleton); if (root && skeleton && !skeletonRemoved) { // Verificar se a aplicação já carregou function checkAppLoaded() { // Verificar se há elementos React no DOM const hasReactContent root.children.length > 1 || document.querySelector(data-reactroot) || document.querySelector(id^react-) || document.querySelector(#root > div:not(#loading-skeleton)) || document.querySelector(.App) || root.innerHTML.includes(react); if (hasReactContent) { skeleton.style.display none; skeletonRemoved true; console.log(Esqueleto de carregamento removido após detecção de conteúdo React); return true; } return false; } // Verificar imediatamente if (checkAppLoaded()) return; // Observa mudanças no DOM dentro do root const observer new MutationObserver(function(mutations) { if (checkAppLoaded()) { observer.disconnect(); } }); observer.observe(root, { childList: true, subtree: true }); // Verificar periodicamente se a aplicação carregou const checkInterval setInterval(function() { if (checkAppLoaded() || skeletonRemoved) { clearInterval(checkInterval); } }, 500); // Verificar se estamos em uma URL profunda de conteúdos const isDeepContentUrl window.location.pathname.includes(/conteudos/) && (window.location.pathname.split(/).length > 4); // Ajustar timeout com base no tipo de URL const initialTimeout isDeepContentUrl ? 30000 : 15000; // Backup: remover o esqueleto após um tempo limite mesmo se o React não carregar setTimeout(function() { if (!skeletonRemoved) { skeleton.style.display none; skeletonRemoved true; console.log(`Esqueleto de carregamento removido pelo timeout de segurança (${initialTimeout/1000}s)`); // Verificar novamente se a aplicação carregou if (!checkAppLoaded()) { // Aguardar mais tempo antes de mostrar a mensagem de erro (mais para URLs profundas) const errorDelay isDeepContentUrl ? 30000 : 15000; setTimeout(function() { if (!checkAppLoaded()) { // Verificar se já existe uma mensagem de erro if (!document.querySelector(#error-message)) { const errorMessage document.createElement(div); errorMessage.id error-message; errorMessage.style.padding 2rem; errorMessage.style.textAlign center; errorMessage.style.maxWidth 800px; errorMessage.style.margin 0 auto; // Mensagem diferente para URLs profundas if (isDeepContentUrl) { errorMessage.innerHTML ` h1>Meu Humor - Saúde Mental/h1> p>Ocorreu um erro ao carregar a aplicação. Estamos redirecionando você para a página inicial./p> div stylemargin-top: 1rem;> button onclickwindow.location.href/ stylepadding: 8px 16px; background-color: #0c8ee7; color: white; border: none; border-radius: 4px; cursor: pointer; margin-right: 1rem;>Ir para Página Inicial/button> button onclickwindow.location.reload() stylepadding: 8px 16px; background-color: #f0f0f0; color: #333; border: none; border-radius: 4px; cursor: pointer;>Tentar Novamente/button> /div> `; // Removido redirecionamento automático para evitar falsos positivos // O usuário pode usar os botões acima para navegar manualmente } else { errorMessage.innerHTML ` h1>Meu Humor - Saúde Mental/h1> p>Ocorreu um erro ao carregar a aplicação. Por favor, tente recarregar a página./p> button onclickwindow.location.reload() stylepadding: 8px 16px; background-color: #0c8ee7; color: white; border: none; border-radius: 4px; cursor: pointer; margin-top: 1rem;>Recarregar Página/button> `; } root.appendChild(errorMessage); } } }, errorDelay); } } }, initialTimeout); // Timeout final para garantir que o esqueleto não fique preso const finalTimeout isDeepContentUrl ? 30000 : 20000; // 30 segundos para URLs profundas, 20 para o resto setTimeout(function() { if (!skeletonRemoved) { skeleton.style.display none; skeletonRemoved true; console.log(`Esqueleto de carregamento removido pelo timeout final (${finalTimeout/1000}s)`); } }, finalTimeout); } } // Executar a função quando o documento estiver pronto if (document.readyState loading) { document.addEventListener(DOMContentLoaded, removeLoadingSkeleton); } else { removeLoadingSkeleton(); } // Adicionar listener para o evento load da janela como backup window.addEventListener(load, function() { setTimeout(removeLoadingSkeleton, 500); }); /script> /body>/html>
Subdomains
Date
Domain
IP
www.meuhumor.com.br
2013-06-14
141.101.117.144
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]