{"id":4450,"date":"2026-04-07T14:56:46","date_gmt":"2026-04-07T19:56:46","guid":{"rendered":"https:\/\/hb.net.co\/es\/?page_id=4450"},"modified":"2026-04-07T15:52:52","modified_gmt":"2026-04-07T20:52:52","slug":"verificador-spf-dmarv-dkim","status":"publish","type":"page","link":"https:\/\/hb.net.co\/es\/verificador-spf-dmarv-dkim\/","title":{"rendered":"Verificador SPF &#8211; DMARV &#8211; DKIM"},"content":{"rendered":"\n    \n    <section class=\"u-align-center u-clearfix u-color-var u-container-align-center u-section-2\" id=\"sec-a3d1\">\n      <div class=\"u-clearfix u-sheet u-valign-middle-lg u-valign-middle-md u-valign-middle-sm u-sheet-1\"><\/div>\n    <\/section>\n    <section class=\"u-clearfix u-container-align-center u-grey-5 u-section-3\" id=\"sec-d628\">\n      <div class=\"u-clearfix u-sheet u-valign-middle-lg u-valign-middle-sm u-valign-middle-xs u-sheet-1\">\n        <div class=\"u-clearfix u-custom-html u-expanded-width u-custom-html-1\">\n          <meta charset=\"UTF-8\">\n          <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n          <title><\/title>\n          <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n          <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;600;700&amp;display=swap\" rel=\"stylesheet\">\n          <style> \/* Encapsulamiento para evitar conflictos con Nicepage *\/\n        #mail-auditor-root {\n            font-family: 'Inter', sans-serif !important;\n            background-color: #020617 !important;\n            color: #f1f5f9 !important;\n            line-height: 1.5 !important;\n        }\n        #mail-auditor-root .glass-card {\n            background: rgba(15, 23, 42, 0.9) !important;\n            backdrop-filter: blur(12px) !important;\n            border: 1px solid rgba(51, 65, 85, 0.5) !important;\n        }\n        #mail-auditor-root .shimmer {\n            background: linear-gradient(90deg, #1e293b 25%, #334155 50%, #1e293b 75%) !important;\n            background-size: 200% 100% !important;\n            animation: shimmer 1.5s infinite !important;\n        }\n        @keyframes shimmer {\n            0% { background-position: 200% 0; }\n            100% { background-position: -200% 0; }\n        }\n        #mail-auditor-root .status-dot {\n            height: 8px !important;\n            width: 8px !important;\n            border-radius: 50% !important;\n            display: inline-block !important;\n            margin-right: 6px !important;\n        }\n        \/* Forzar visibilidad de etiquetas code contra Nicepage *\/\n        #mail-auditor-root code {\n            background-color: #0f172a !important;\n            color: #60a5fa !important;\n            padding: 2px 6px !important;\n            border-radius: 4px !important;\n            font-family: monospace !important;\n            border: 1px solid rgba(59, 130, 246, 0.2) !important;\n        }\n        #mail-auditor-root .copy-box {\n            background-color: #0f172a !important;\n            border: 1px solid #1e293b !important;\n            transition: all 0.2s !important;\n        }\n        #mail-auditor-root .copy-box:hover {\n            border-color: #3b82f6 !important;\n        }\n        #mail-auditor-root #results-container {\n            transition: all 0.3s ease-in-out !important;\n        }\n        #mail-auditor-root button {\n            text-transform: none !important;\n            box-shadow: none !important;\n        } <\/style>\n          <div id=\"mail-auditor-root\" class=\"glass-card max-w-4xl md:rounded-3xl mx-auto overflow-hidden rounded-2xl shadow-2xl\"><!-- Header Section -->\n            <div class=\"bg-gradient-to-br border-b border-slate-800 from-slate-900 md:p-8 p-5 to-slate-950\">\n              <div class=\"flex gap-3 items-center mb-4\">\n                <div class=\"bg-blue-500\/20 p-2 rounded-lg\">\n                  <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3b82f6\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"><\/path><\/svg>\n                <\/div>\n                <h1 class=\"font-bold md:text-2xl text-white text-xl tracking-tight\">Security Mail Auditor<\/h1>\n              <\/div>\n              <p class=\"max-w-xl md:text-base text-slate-400 text-sm\">Analiza la infraestructura de autenticaci\u00f3n de tu dominio para prevenir ataques y asegurar la entrega de tus correos.<\/p><!-- Input Area -->\n              <div class=\"flex flex-col gap-3 mt-6 sm:flex-row\">\n                <div class=\"flex-grow relative\">\n                  <input type=\"text\" id=\"domain\" placeholder=\"tuempresa.com\" class=\"bg-slate-900 border border-slate-700 focus:border-blue-500 focus:ring-1 focus:ring-blue-500 md:text-base outline-none px-4 py-3 rounded-xl text-sm text-white transition-all w-full\">\n                <\/div>\n                <button id=\"btn-analyze\" class=\"bg-blue-600 cursor-pointer flex font-semibold gap-2 hover:bg-blue-500 items-center justify-center md:text-base px-6 py-3 rounded-xl text-sm text-white transition-all\" onclick=\"checkDNS()\"><span>Analizar Dominio<\/span>\n                <\/button>\n              <\/div>\n              <p id=\"error-msg\" class=\"hidden mt-2 text-red-400 text-xs\">Ingresa un dominio v\u00e1lido (ej: empresa.com).<\/p>\n            <\/div><!-- Main Content -->\n            <div id=\"results-container\" class=\"hidden md:p-8 md:space-y-8 p-5 space-y-6\"><!-- Score Overview -->\n              <div class=\"bg-slate-900\/50 border border-slate-800 flex flex-col gap-6 items-center md:flex-row p-6 rounded-2xl\">\n                <div class=\"flex items-center justify-center relative\">\n                  <svg class=\"w-24 h-24 md:w-32 md:h-32 transform -rotate-90\"><circle cx=\"50%\" cy=\"50%\" r=\"40%\" stroke=\"currentColor\" stroke-width=\"8\" fill=\"transparent\" class=\"text-slate-800\"><\/circle><circle id=\"score-circle\" cx=\"50%\" cy=\"50%\" r=\"40%\" stroke=\"currentColor\" stroke-width=\"8\" fill=\"transparent\" stroke-dasharray=\"251.32\" stroke-dashoffset=\"251.32\" class=\"text-blue-500 transition-all duration-1000 ease-out\"><\/circle><\/svg>\n                  <div class=\"absolute font-bold md:text-2xl text-white text-xl\" id=\"score-text\">0%<\/div>\n                <\/div>\n                <div class=\"md:text-left text-center\">\n                  <h2 class=\"font-semibold mb-1 md:text-xl text-lg text-white\" id=\"score-title\">Analizando...<\/h2>\n                  <p class=\"md:text-sm text-slate-400 text-xs\" id=\"score-desc\">Evaluando protocolos SPF, DKIM y DMARC.<\/p>\n                <\/div>\n              <\/div><!-- Cards Grid -->\n              <div id=\"resultCards\" class=\"gap-4 grid grid-cols-1 md:grid-cols-3 sm:grid-cols-2\"><\/div><!-- Recommendation Box -->\n              <div id=\"recommendation-box\" class=\"bg-slate-900 border border-slate-800 hidden md:p-6 p-5 rounded-2xl\">\n                <h3 class=\"flex font-bold gap-2 items-center mb-4 md:text-base text-blue-400 text-sm tracking-wider uppercase\">\n                  <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z\"><\/path><\/svg> Configuraci\u00f3n Sugerida \n                <\/h3>\n                <div class=\"space-y-5\">\n                  <div>\n                    <p class=\"font-bold mb-2 text-[11px] text-slate-500 tracking-widest uppercase\">Registro SPF (Tipo TXT)<\/p>\n                    <div class=\"copy-box flex gap-3 items-center justify-between p-3 rounded-xl\">\n                      <code class=\"!border-none !p-0 bg-transparent break-all md:text-sm text-blue-400 text-xs\" id=\"suggested-spf\">v=spf1 include:_spf.google.com ~all<\/code>\n                      <button class=\"hover:text-blue-400 p-1 text-slate-500 transition-colors\" title=\"Copiar\" onclick=\"copyText('suggested-spf')\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\"><\/rect><path d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"><\/path><\/svg>\n                      <\/button>\n                    <\/div>\n                  <\/div>\n                  <div>\n                    <p class=\"font-bold mb-2 text-[11px] text-slate-500 tracking-widest uppercase\">Registro DMARC (Tipo TXT en _dmarc)<\/p>\n                    <div class=\"copy-box flex gap-3 items-center justify-between p-3 rounded-xl\">\n                      <code class=\"!border-none !p-0 bg-transparent break-all md:text-sm text-blue-400 text-xs\" id=\"suggested-dmarc\">v=DMARC1; p=quarantine; rua=mailto:admin@domain.com<\/code>\n                      <button class=\"hover:text-blue-400 p-1 text-slate-500 transition-colors\" title=\"Copiar\" onclick=\"copyText('suggested-dmarc')\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\"><\/rect><path d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"><\/path><\/svg>\n                      <\/button>\n                    <\/div>\n                  <\/div>\n                <\/div>\n              <\/div><!-- CTA Section -->\n              <div id=\"cta\" class=\"hidden\">\n                <div class=\"bg-red-500\/10 border border-red-500\/50 flex flex-col gap-4 items-center justify-between md:flex-row md:gap-6 md:p-6 p-5 rounded-2xl\">\n                  <div class=\"md:text-left text-center\">\n                    <h3 class=\"flex font-bold gap-2 items-center justify-center md:justify-start md:text-lg text-base text-red-400\">\n                      <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z\"><\/path><path d=\"M12 9v4\"><\/path><path d=\"M12 17h.01\"><\/path><\/svg> Seguridad Vulnerable \n                    <\/h3>\n                    <p class=\"md:text-sm mt-1 text-slate-400 text-xs\">Tu dominio no cumple con los est\u00e1ndares de seguridad actuales.<\/p>\n                  <\/div><!-- Bot\u00f3n actualizado para abrir formulario externo -->\n                  <a href=\"javascript:abrirFormulario();\" class=\"bg-green-600 font-bold hover:bg-green-500 md:text-base md:w-auto px-6 py-3 rounded-xl shadow-lg text-center text-sm text-white transition-all w-full\"> Soporte Profesional <\/a>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n          <script> const btnAnalyze = document.getElementById(\"btn-analyze\");\n        const domainInput = document.getElementById(\"domain\");\n        const errorMsg = document.getElementById(\"error-msg\");\n        const resultsContainer = document.getElementById(\"results-container\");\n        function copyText(id) {\n            const text = document.getElementById(id).innerText;\n            const tempInput = document.createElement(\"input\");\n            tempInput.value = text;\n            document.body.appendChild(tempInput);\n            tempInput.select();\n            document.execCommand(\"copy\");\n            document.body.removeChild(tempInput);\n            \n            const btn = event.currentTarget;\n            const originalIcon = btn.innerHTML;\n            btn.innerHTML = `<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#22c55e\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg>`;\n            setTimeout(() => btn.innerHTML = originalIcon, 2000);\n        }\n        async function checkDNS() {\n            let domain = domainInput.value.trim().toLowerCase();\n            \n            \/\/ Limpiar protocolos (http:\/\/, https:\/\/) y barras finales\n            domain = domain.replace(\/^(https?:\\\/\\\/)\/, '').replace(\/\\\/$\/, '');\n            \n            if (!domain || !domain.includes('.')) {\n                errorMsg.classList.remove('hidden');\n                return;\n            }\n            errorMsg.classList.add('hidden');\n            btnAnalyze.disabled = true;\n            btnAnalyze.innerHTML = `<span>Analizando...<\/span>`;\n            resultsContainer.classList.remove('hidden');\n            \n            document.getElementById(\"resultCards\").innerHTML = Array(3).fill(0).map(() => `\n                <div class=\"shimmer h-28 rounded-xl opacity-50\"><\/div>\n            `).join('');\n            document.getElementById(\"recommendation-box\").classList.add('hidden');\n            document.getElementById(\"cta\").classList.add('hidden');\n            let score = 0;\n            let results = { spf: null, dmarc: null, dkim: false };\n            try {\n                const [spfData, dmarcData] = await Promise.all([\n                    fetch(`https:\/\/dns.google\/resolve?name=${domain}&type=TXT`).then(r => r.json()),\n                    fetch(`https:\/\/dns.google\/resolve?name=_dmarc.${domain}&type=TXT`).then(r => r.json())\n                ]);\n                results.spf = spfData.Answer?.find(r => r.data.includes(\"v=spf1\"))?.data.replace(\/\"\/g, '');\n                if (results.spf) score += 30;\n                results.dmarc = dmarcData.Answer?.[0]?.data.replace(\/\"\/g, '');\n                if (results.dmarc) {\n                    score += 40;\n                    if (results.dmarc.includes(\"p=none\")) score -= 10;\n                }\n                const selectors = [\"google\", \"default\", \"mail\", \"k1\", \"sig1\"];\n                for (const sel of selectors) {\n                    const res = await fetch(`https:\/\/dns.google\/resolve?name=${sel}._domainkey.${domain}&type=TXT`).then(r => r.json());\n                    if (res.Answer) {\n                        results.dkim = true;\n                        score += 30;\n                        break;\n                    }\n                }\n                renderResults(domain, results, score);\n            } catch (error) {\n                console.error(error);\n            } finally {\n                btnAnalyze.disabled = false;\n                btnAnalyze.innerHTML = `<span>Analizar Dominio<\/span>`;\n            }\n        }\n        function renderResults(domain, results, score) {\n            const cards = document.getElementById(\"resultCards\");\n            cards.innerHTML = \"\";\n            const circle = document.getElementById(\"score-circle\");\n            const text = document.getElementById(\"score-text\");\n            const title = document.getElementById(\"score-title\");\n            \n            \/\/ C\u00e1lculo din\u00e1mico de la circunferencia\n            const radius = circle.r.baseVal.value;\n            const circumference = 2 * Math.PI * radius;\n            \n            circle.style.strokeDasharray = `${circumference} ${circumference}`;\n            const offset = circumference - (score \/ 100) * circumference;\n            \n            circle.style.strokeDashoffset = offset;\n            text.innerText = `${score}%`;\n            \n            circle.classList.remove('text-green-500', 'text-yellow-500', 'text-red-500', 'text-blue-500');\n            if (score >= 90) {\n                circle.classList.add('text-green-500');\n                title.innerText = \"Excelente Seguridad\";\n            } else if (score >= 60) {\n                circle.classList.add('text-yellow-500');\n                title.innerText = \"Seguridad Media\";\n            } else {\n                circle.classList.add('text-red-500');\n                title.innerText = \"Seguridad Cr\u00edtica\";\n            }\n            cards.innerHTML += createCard(\"SPF\", results.spf ? \"Configurado\" : \"Faltante\", results.spf, !!results.spf);\n            cards.innerHTML += createCard(\"DKIM\", results.dkim ? \"Detectado\" : \"No detectado\", results.dkim ? \"Llave p\u00fablica activa.\" : \"No se hallaron llaves.\", !!results.dkim);\n            let dmarcStatus = results.dmarc ? (results.dmarc.includes(\"p=none\") ? \"D\u00e9bil (p=none)\" : \"Protegido\") : \"Faltante\";\n            cards.innerHTML += createCard(\"DMARC\", dmarcStatus, results.dmarc, !!results.dmarc && !results.dmarc.includes(\"p=none\"));\n            document.getElementById(\"suggested-dmarc\").innerText = `v=DMARC1; p=quarantine; rua=mailto:seguridad@${domain}`;\n            document.getElementById(\"recommendation-box\").classList.remove('hidden');\n            if (score < 90) {\n                document.getElementById(\"cta\").classList.remove('hidden');\n            }\n        }\n        function createCard(title, status, content, isOk) {\n            const color = isOk ? \"text-green-400\" : \"text-red-400\";\n            const dotColor = isOk ? \"bg-green-500\" : \"bg-red-500\";\n            const borderColor = isOk ? \"border-green-500\/10\" : \"border-red-500\/10\";\n            return `\n                <div class=\"bg-slate-900 border ${borderColor} p-4 rounded-xl flex flex-col justify-between min-h-[110px]\">\n                    <div>\n                        <h4 class=\"text-slate-500 text-[10px] font-bold uppercase tracking-widest mb-1\">${title}<\/h4>\n                        <div class=\"flex items-center mb-2\">\n                            <span class=\"status-dot ${dotColor}\"><\/span>\n                            <span class=\"font-bold text-sm ${color}\">${status}<\/span>\n                        <\/div>\n                    <\/div>\n                    <div class=\"mt-2\">\n                        <code class=\"text-[9px] break-all block leading-tight\">\n                            ${content || 'Sin datos'}\n                        <\/code>\n                    <\/div>\n                <\/div>\n            `;\n        } <\/script>\n        <\/div>\n      <\/div>\n    <\/section>\n    <section class=\"u-clearfix u-color-var u-section-4\" id=\"block-3\">\n      <div class=\"u-clearfix u-sheet u-sheet-1\">\n        <div class=\"u-blog u-container-style u-expanded-width u-layout-grid u-blog-1\" data-site-sorting-prop=\"created\" data-site-sorting-order=\"desc\" data-max-items=\"3\">\n          <div class=\"u-list-control\"><\/div>\n          <div class=\"u-repeater u-repeater-1\">\n            <div class=\"u-blog-post u-container-style u-radius u-repeater-item u-shape-round u-white u-repeater-item-1\">\n              <div class=\"u-container-layout u-similar-container u-container-layout-1\"><a class=\"u-blog-control u-expanded-width u-image u-image-default lazyload u-image-1\" href=\"https:\/\/hb.net.co\/es\/el-regreso-del-html-repotencializado\/\">\n                <img alt=\"\" class=\"u-blog-control u-expanded-width u-image u-image-default lazyload u-image-1\" data-src=\"https:\/\/hb.net.co\/es\/wp-content\/uploads\/2026\/05\/htmlrepotencializado.png\" loading=\"lazy\"><\/a>\n                <h4 class=\"u-blog-control u-text u-text-1\">\n                  <a class=\"u-post-header-link\" href=\"https:\/\/hb.net.co\/es\/el-regreso-del-html-repotencializado\/\">El regreso del HTML \"Repotencializado\"<\/a>\n                <\/h4>\n                <div class=\"u-blog-control u-post-content u-text u-text-2\"><p>\nC\u00f3mo el \u201cHTML repotencializado\u201d est\u00e1 transformando el desarrollo web moderno\n\n\n\nDurante muchos a\u00f1os el desarrollo web tom\u00f3 un camino cada vez m\u00e1s &hellip;<\/p>\n                <\/div>\n                <a href=\"https:\/\/hb.net.co\/es\/el-regreso-del-html-repotencializado\/\" class=\"u-blog-control u-border-2 u-border-active-palette-1-dark-1 u-border-hover-palette-1-dark-1 u-border-no-left u-border-no-right u-border-no-top u-border-palette-1-base u-btn u-btn-rectangle u-button-style u-none u-btn-1\">aprender<\/a>\n              <\/div>\n            <\/div>\n            <div class=\"u-blog-post u-container-style u-radius u-repeater-item u-shape-round u-video-cover u-white u-repeater-item-2\">\n              <div class=\"u-container-layout u-similar-container u-container-layout-2\"><a class=\"u-blog-control u-expanded-width u-image u-image-default lazyload u-image-2\" href=\"https:\/\/hb.net.co\/es\/que-es-y-para-que-sirve-cloudflare\/\">\n                <img alt=\"\" class=\"u-blog-control u-expanded-width u-image u-image-default lazyload u-image-2\" data-src=\"https:\/\/hb.net.co\/es\/wp-content\/uploads\/2019\/05\/cloudflare-que-es.png\" loading=\"lazy\"><\/a>\n                <h4 class=\"u-blog-control u-text u-text-3\">\n                  <a class=\"u-post-header-link\" href=\"https:\/\/hb.net.co\/es\/que-es-y-para-que-sirve-cloudflare\/\">\u00bfQu\u00e9 es y para que sirve cloudflare?<\/a>\n                <\/h4>\n                <div class=\"u-blog-control u-post-content u-text u-text-4\"><p>\nEn la actualidad, tener un sitio web r\u00e1pido, seguro y estable ya no es un lujo sino una necesidad. Cada d\u00eda millones de p\u00e1ginas web reciben ataques&hellip;<\/p>\n                <\/div>\n                <a href=\"https:\/\/hb.net.co\/es\/que-es-y-para-que-sirve-cloudflare\/\" class=\"u-blog-control u-border-2 u-border-active-palette-1-dark-1 u-border-hover-palette-1-dark-1 u-border-no-left u-border-no-right u-border-no-top u-border-palette-1-base u-btn u-btn-rectangle u-button-style u-none u-btn-2\">aprender<\/a>\n              <\/div>\n            <\/div>\n            <div class=\"u-blog-post u-container-style u-radius u-repeater-item u-shape-round u-video-cover u-white u-repeater-item-3\">\n              <div class=\"u-container-layout u-similar-container u-container-layout-3\"><a class=\"u-blog-control u-expanded-width u-image u-image-default lazyload u-image-3\" href=\"https:\/\/hb.net.co\/es\/la-evolucion-web-que-muchos-aun-no-estan-viendo\/\">\n                <img alt=\"\" class=\"u-blog-control u-expanded-width u-image u-image-default lazyload u-image-3\" data-src=\"https:\/\/hb.net.co\/es\/wp-content\/uploads\/2026\/04\/wp-react.jpg\" loading=\"lazy\"><\/a>\n                <h4 class=\"u-blog-control u-text u-text-5\">\n                  <a class=\"u-post-header-link\" href=\"https:\/\/hb.net.co\/es\/la-evolucion-web-que-muchos-aun-no-estan-viendo\/\">La evoluci\u00f3n web que muchos a\u00fan no est\u00e1n viendo<\/a>\n                <\/h4>\n                <div class=\"u-blog-control u-post-content u-text u-text-6\"><p>\nDurante a\u00f1os plataformas como WordPress, Joomla y Drupal han dominado la creaci\u00f3n de sitios web administrados (gestores de contenido); han sido la &hellip;<\/p>\n                <\/div>\n                <a href=\"https:\/\/hb.net.co\/es\/la-evolucion-web-que-muchos-aun-no-estan-viendo\/\" class=\"u-blog-control u-border-2 u-border-active-palette-1-dark-1 u-border-hover-palette-1-dark-1 u-border-no-left u-border-no-right u-border-no-top u-border-palette-1-base u-btn u-btn-rectangle u-button-style u-none u-btn-3\">aprender<\/a>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"u-list-control\"><\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n    \n    \n    \n  \n","protected":false},"excerpt":{"rendered":"<p>Security Mail Auditor Analiza la infraestructura de autenticaci\u00f3n de tu dominio para prevenir ataques y asegurar la entrega de tus correos. Analizar Dominio Ingresa un dominio v\u00e1lido (ej: empresa.com). 0% Analizando&#8230; Evaluando protocolos SPF, DKIM y DMARC. Configuraci\u00f3n Sugerida Registro SPF (Tipo TXT) v=spf1 include:_spf.google.com ~all Registro DMARC (Tipo TXT en _dmarc) v=DMARC1; p=quarantine; rua=mailto:admin@domain.com &hellip; <a href=\"https:\/\/hb.net.co\/es\/verificador-spf-dmarv-dkim\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Verificador SPF &#8211; DMARV &#8211; DKIM&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":4458,"parent":0,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4450","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/hb.net.co\/es\/wp-json\/wp\/v2\/pages\/4450","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hb.net.co\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hb.net.co\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hb.net.co\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hb.net.co\/es\/wp-json\/wp\/v2\/comments?post=4450"}],"version-history":[{"count":0,"href":"https:\/\/hb.net.co\/es\/wp-json\/wp\/v2\/pages\/4450\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hb.net.co\/es\/wp-json\/wp\/v2\/media\/4458"}],"wp:attachment":[{"href":"https:\/\/hb.net.co\/es\/wp-json\/wp\/v2\/media?parent=4450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}