{"id":232874,"date":"2023-01-31T18:10:00","date_gmt":"2023-01-31T15:10:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232874"},"modified":"2022-11-10T18:09:44","modified_gmt":"2022-11-10T15:09:44","slug":"como-hacer-que-una-pagina-sea-completamente-segura-a-traves-de-conexiones-ssl","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/como-hacer-que-una-pagina-sea-completamente-segura-a-traves-de-conexiones-ssl\/","title":{"rendered":"\u00bfC\u00f3mo hacer que una p\u00e1gina sea completamente segura a trav\u00e9s de conexiones SSL?"},"content":{"rendered":"\n<p>En esta <a href=\"https:\/\/helloacm.com\/how-to-enable-ssl-connections-on-ubuntu-server\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">publicaci\u00f3n<\/a>, se muestran las configuraciones necesarias para que un SSL funcione (en el puerto 443) en servidores Ubuntu.<\/p>\n<p>Sin embargo, para algunas p\u00e1ginas (especialmente publicaciones\/p\u00e1ginas antiguas), mostrar\u00e1 informaci\u00f3n &#8216;no completamente segura&#8217;, si est\u00e1 utilizando el navegador Chrome,<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-155574-61e564505ef12.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-155574-61e564505ef12.jpg\" alt=\"\u00bfC\u00f3mo hacer que una p\u00e1gina sea completamente segura a trav\u00e9s de conexiones SSL?\" ><\/a><\/p>\n<p>ssl-no-tan-seguro<\/p>\n<p>Las causas, como dice, es que la p\u00e1gina utiliza algunas conexiones no seguras a archivos de im\u00e1genes, css o javascript. Si va a <a href=\"https:\/\/www.whynopadlock.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/www.whynopadlock.com\/<\/a> (herramienta de verificaci\u00f3n de SSL en l\u00ednea), puede ver las razones detalladas por las que esa p\u00e1gina no es completamente segura.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-155574-61e5645178ddb.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-155574-61e5645178ddb.jpg\" alt=\"\u00bfC\u00f3mo hacer que una p\u00e1gina sea completamente segura a trav\u00e9s de conexiones SSL?\" ><\/a><\/p>\n<p>Herramienta de comprobaci\u00f3n de SSL<\/p>\n<p>Alternativamente, puede ir a la consola del navegador Chrome y ver\u00e1 las advertencias en detalle.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-155574-61e564530025e.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-155574-61e564530025e.jpg\" alt=\"\u00bfC\u00f3mo hacer que una p\u00e1gina sea completamente segura a trav\u00e9s de conexiones SSL?\" ><\/a><\/p>\n<p>Detalles SSL\/conexiones en la consola del navegador Google Chrome<\/p>\n<p>Si no hacemos que esos recursos image\/js\/css sean SSL, entonces alguien podr\u00eda\/podr\u00eda cambiar el aspecto del sitio web, por lo que no tiene sentido usar SSL.<\/p>\n<p>Adem\u00e1s, si est\u00e1 utilizando la etiqueta HTML <strong>iframe<\/strong> para incluir p\u00e1ginas, tambi\u00e9n deben usar HTTPS; de lo contrario, la mayor\u00eda de los navegadores lo bloquear\u00e1n debido a posibles riesgos de seguridad.<\/p>\n<p>Adem\u00e1s, si tiene formularios que son URLS inseguros (campo de <strong>acci\u00f3n<\/strong> ), a\u00fan tendr\u00e1 advertencias. Por ejemplo, debe usar la versi\u00f3n SSL del formulario de b\u00fasqueda de Google en lugar de uno que no sea SSL.<\/p>\n<h2>Si los recursos est\u00e1n alojados en otros dominios<\/h2>\n<p>No hay mucho que hacer si los recursos est\u00e1n alojados en otros dominios. En este caso, podr\u00eda usar las versiones HTTPS si las proporcionan, pero esto no siempre es posible. Las grandes empresas tienen versiones HTTP y HTTPS, por ejemplo, Google. Si no, puedes descargar una copia y subirla a tu propio FTP y as\u00ed cambiar la URL, que es segura.<\/p>\n<h2>SQL para cambiar la URL de las publicaciones de wordpress<\/h2>\n<p>Si est\u00e1 utilizando wordpress, puede usar la siguiente URL para cambiar las URL en la publicaci\u00f3n.<\/p>\n<pre><code>UPDATE wp_posts SET post_content = REPLACE (post_content, '<\/code><\/pre>\n<p>Lo siguiente tambi\u00e9n cambia el GUID para cada publicaci\u00f3n.<\/p>\n<pre><code>UPDATE wp_posts SET guid = REPLACE (guid,  '<\/code><\/pre>\n<p>Y debe iniciar sesi\u00f3n en el panel de control de wordpress para actualizar la URL del sitio.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-155574-61e564544c398.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-155574-61e564544c398.jpg\" alt=\"\u00bfC\u00f3mo hacer que una p\u00e1gina sea completamente segura a trav\u00e9s de conexiones SSL?\" ><\/a><\/p>\n<p>configuraci\u00f3n del panel de control de wordpress ssl<\/p>\n<p>Alternativamente, puede hacer esto a trav\u00e9s de SQL:<\/p>\n<pre><code>UPDATE wp_options SET option_value = replace(option_value, '<\/code><\/pre>\n<h2>Si est\u00e1 alojando varios sitios web\/dominios en la misma direcci\u00f3n IP (VPS o servidor dedicado)<\/h2>\n<p>Como puede ver en las capturas de pantalla anteriores, si est\u00e1 alojando varios sitios web\/dominios en la misma direcci\u00f3n IP y si est\u00e1 utilizando estas im\u00e1genes en sus publicaciones, tambi\u00e9n puede hacer que esos dominios sean seguros (comprando nuevos certificados SSL) o cambiando las URL.<\/p>\n<p>Para el segundo m\u00e9todo, puede descargar im\u00e1genes\/css\/js y volver a cargar en el dominio SSL-ed que est\u00e1 utilizando, o puede asignar las URL de recursos que no son SSL a los dominios SSL-ed.<\/p>\n<p>Por ejemplo, puede iniciar sesi\u00f3n en su VPS o servidor dedicado y hacer un enlace simb\u00f3lico (similar a los accesos directos en Windows).<\/p>\n<pre><code>ln -s \u00a0\/var\/non-ssl-domains\/images \/var\/ssl-domain\/images<\/code><\/pre>\n<p>Luego, puede reemplazar <strong><a href=\"http:\/\/non-ssl-domains\/images\" class=\"external external_icon\" rel=\"nofollow\" target=\"_blank\">http:\/\/non-ssl-domains\/images<\/a><\/strong> a <strong><a href=\"https:\/\/ssl-domain\/images\" class=\"external external_icon\" rel=\"nofollow\" target=\"_blank\">https:\/\/ssl-domain\/images<\/a><\/strong> usando el SQL anterior.<\/p>\n<p>A veces, los enlaces simb\u00f3licos no son seguidos por el servidor Apache y, en este caso, puede, por supuesto, crear enlaces duros en su lugar (sin la opci\u00f3n -s)<\/p>\n<pre><code>ln \u00a0\/var\/non-ssl-domains\/images \/var\/ssl-domain\/images<\/code><\/pre>\n<h2>Uso de PHP para redirigir URL no seguras a SSL seguro<\/h2>\n<p>La otra soluci\u00f3n es crear un archivo <a href=\"https:\/\/helloacm.com\/php7-shortens-the-google-page-crawling-time\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP basado en los par\u00e1metros<\/a> <strong>$_GET<\/strong> de las URL y leer los archivos de recursos de otro dominio, ya que todos est\u00e1n alojados en la misma m\u00e1quina (VPS o servidor dedicado).<\/p>\n<pre><code>\u00a0 function hell() {\n\u00a0 \u00a0 header($_SERVER['SERVER_PROTOCOL']. ' 404 Not Found'); \n\u00a0 \u00a0 die();\n\u00a0 }\n\u00a0 $r = '';\n\u00a0 if (isset($_GET['r'])) {\n\u00a0 \u00a0 $r = trim($_GET['r']);\n\u00a0 }\n\u00a0 if (!strlen($r)) {\n\u00a0 \u00a0 hell();\n\u00a0 }\n\u00a0 $url = '\/var\/www\/codingforspeed.com\/images\/'.$r;\n\u00a0 if (!is_file($url)) {\n\u00a0 \u00a0 hell(); \u00a0 \n\u00a0 }\n\u00a0 $ext = strtoupper(pathinfo($url, PATHINFO_EXTENSION));\n\u00a0 $type = exif_imagetype($url);\n\u00a0 if (($ext == 'JPG') &amp;&amp; ($type == IMAGETYPE_JPEG)) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 header('Content-Disposition: inline');\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 header(\"Content-Type: image\/jpeg\");\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 header(\"Content-Length: \". filesize($url));\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 header(\"Content-Transfer-Encoding: binaryn\");\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 $im = imagecreatefromjpeg($url);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 imagejpeg($im);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 imagedestroy($im);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 die();\n\u00a0 }\n\u00a0 else if (($ext == 'GIF') &amp;&amp; ($type == IMAGETYPE_GIF)) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 header('Content-Disposition: inline');\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 header(\"Content-Type: image\/gif\");\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 header(\"Content-Length: \". filesize($url));\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 header(\"Content-Transfer-Encoding: binaryn\");\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 readfile($url); \u00a0 \n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 die(); \n\u00a0 } \n\u00a0 else if (($ext == 'PNG') &amp;&amp; ($type == IMAGETYPE_PNG)) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 header('Content-Disposition: inline');\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 header(\"Content-Type: image\/png\");\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 header(\"Content-Length: \". filesize($url));\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 header(\"Content-Transfer-Encoding: binaryn\");\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 $im = imagecreatefrompng($url);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 imagepng($im);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 imagedestroy($im); \n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 die(); \n\u00a0 }\n\u00a0 else if (($ext == 'BMP') &amp;&amp; ($type == IMAGETYPE_BMP)) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 header('Content-Disposition: inline');\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 header(\"Content-Type: image\/bmp\");\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 header(\"Content-Length: \". filesize($url));\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 header(\"Content-Transfer-Encoding: binaryn\");\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 $im = imagecreatefrombmp($url);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 imagebmp($im);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 imagedestroy($im); \u00a0\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 die();\n\u00a0 }\n\u00a0 else {\n\u00a0 \u00a0 hell();\n\u00a0 }<\/code><\/pre>\n<p>Guarde el c\u00f3digo PHP anterior en su dominio SSL, por ejemplo, <strong><a href=\"https:\/\/helloacm.com\/ssl\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/helloacm.com\/ssl<\/a><\/strong> y convi\u00e9rtalo en <strong>index.php<\/strong>.<\/p>\n<p>Luego, por ejemplo, si la URL no segura anterior es <strong><a href=\"https:\/\/codingforspeed.com\/images\/logo.png\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/codingforspeed.com\/images\/logo.png<\/a><\/strong>, la nueva URL SSL segura es <strong><a href=\"https:\/\/helloacm.com\/ssl\/?r=logo.png\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/helloacm.com\/ssl\/?rlogo.png<\/a><\/strong><\/p>\n<p>Y, reemplace las URL en consecuencia en wordpress usando el SQL anterior. Estos m\u00e9todos son un poco temporales ya que si tiene presupuestos, es mejor hacer que todos sus dominios sean SSL.<\/p>\n<p>\u00a1Bienvenido al mundo SSL! Y como recompensa, algunos motores de b\u00fasqueda (algoritmos de Google) prefieren p\u00e1ginas SSL sobre HTTP no seguro. Sus p\u00e1ginas SSL tienden a obtener un mejor SEO.<\/p>\n<h2>URL de doble barra diagonal<\/h2>\n<p>A veces, puede ver que &#8216; <strong>\/\/ <a href=\"https:\/\/helloacm.com\/images\/logo.png\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">helloacm.com\/images\/logo.png<\/a><\/strong> &#8216;. Las barras diagonales dobles detectar\u00e1n autom\u00e1ticamente el protocolo de la p\u00e1gina actual. Si es HTTP y usar\u00e1 HTTP o si es HTTPS, se acceder\u00e1 a la imagen a trav\u00e9s de HTTPS. Puede considerar reemplazar todas las URL por barras diagonales dobles para una mejor compatibilidad, es decir, independientemente del protocolo que est\u00e9 utilizando, siempre estar\u00e1 en el correcto. \u00a1Simple como eso!<\/p>\n<h2>reescritura de modificaci\u00f3n de URL htaccess<\/h2>\n<p>Una vez que sus URL SSL est\u00e9n completamente probadas, debe mover sus URL no seguras anteriores a SSL. Puede hacer esto en .htaccess (reescritura del mod del servidor <a href=\"https:\/\/helloacm.com\/restart-apache-web-server-on-errors\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">apache ).<\/a> Simplemente coloque las siguientes dos l\u00edneas en la carpeta ra\u00edz de su sitio web, por ejemplo, blog de wordpress.<\/p>\n<pre><code>RewriteEngine On \nRewriteCond %{SERVER_PORT} 80 \nRewriteRule ^(.*)$ &lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/helloacm.com\/$1\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;helloacm&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/$&lt;\/span&gt;&lt;span&gt;1&lt;\/span&gt;&lt;\/a&gt; [R=301,L] <\/code><\/pre>\n<p>La redirecci\u00f3n 301 le dice al motor de b\u00fasqueda que la puntuaci\u00f3n de SEO de la URL no segura actual debe transferirse a la de SSL. Ahora, comience a propagar su SSL en lugar del HTTP no seguro.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfC\u00f3mo hacer que una p\u00e1gina sea completamente segura a trav\u00e9s de conexiones SSL?<\/p>\n","protected":false},"author":1,"featured_media":224713,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[810,831,1027,840,861],"tags":[1172],"class_list":["post-232874","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-complementos","category-guia-para-principiantes","category-la-seguridad","category-tutoriales","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/232874","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=232874"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/232874\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/224713"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=232874"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=232874"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=232874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}