<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CNERIS</title>
	<atom:link href="https://cneris.com/es/feed/" rel="self" type="application/rss+xml" />
	<link>https://cneris.com/es/</link>
	<description></description>
	<lastBuildDate>Sun, 18 May 2025 16:33:06 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>
	<item>
		<title>¿Cómo proteger wp-login sin usar plugins?</title>
		<link>https://cneris.com/es/como-proteger-wp-login-sin-usar-plugins/</link>
					<comments>https://cneris.com/es/como-proteger-wp-login-sin-usar-plugins/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 18 May 2025 16:31:15 +0000</pubDate>
				<category><![CDATA[Seguridad informática]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[proteger wp-login]]></category>
		<category><![CDATA[wp-login]]></category>
		<guid isPermaLink="false">https://cneris.com/?p=2746</guid>

					<description><![CDATA[<p>Protección con .htaccess y .htpasswd: Crea un archivo .htpasswd:Puedes usar htpasswd generator online para crear un usuario y contraseña encriptada.Guarda este archivo fuera del directorio público (por ejemplo: /home/usuario/.htpasswd). Edita tu archivo .htaccess:Abre el .htaccess en la raíz de WordPress o crea uno en el mismo directorio que wp-login.php con este contenido: &lt;Files wp-login.php&gt; AuthType [...]</p>
<p>The post <a href="https://cneris.com/es/como-proteger-wp-login-sin-usar-plugins/">¿Cómo proteger wp-login sin usar plugins?</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="" data-start="241" data-end="282"><strong data-start="241" data-end="282">Protección con .htaccess y .htpasswd:</strong></p>
<ol data-start="284" data-end="1149">
<li class="" data-start="284" data-end="558">
<p class="" data-start="287" data-end="558"><strong data-start="287" data-end="319">Crea un archivo <code data-start="305" data-end="316">.htpasswd</code>:</strong><br data-start="319" data-end="322" />Puedes usar <a class="cursor-pointer" target="_new" rel="noopener" data-start="337" data-end="415">htpasswd generator online</a> para crear un usuario y contraseña encriptada.<br data-start="462" data-end="465" />Guarda este archivo fuera del directorio público (por ejemplo: <code data-start="531" data-end="556">/home/usuario/.htpasswd</code>).</p>
</li>
<li class="" data-start="560" data-end="1014">
<p class="" data-start="563" data-end="718"><strong data-start="563" data-end="596">Edita tu archivo <code data-start="582" data-end="593">.htaccess</code>:</strong><br data-start="596" data-end="599" />Abre el <code data-start="610" data-end="621">.htaccess</code> en la raíz de WordPress o crea uno en el mismo directorio que <code data-start="684" data-end="698">wp-login.php</code> con este contenido:</p>
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary">
<div class="overflow-y-auto p-4" dir="ltr">&lt;Files wp-login.php&gt;<br />
AuthType Basic<br />
AuthName «Restricted Access»<br />
AuthUserFile /full/path/to/.htpasswd<br />
Require valid-user<br />
&lt;/Files&gt;</div>
</div>
<p class="" data-start="912" data-end="1014">&#x26a0;&#xfe0f; Reemplaza <code data-start="925" data-end="953">/ruta/absoluta/a/.htpasswd</code> con la ruta completa donde guardaste el archivo <code data-start="1002" data-end="1013">.htpasswd</code>.</p>
</li>
<li class="" data-start="1016" data-end="1149">
<p class="" data-start="1019" data-end="1149"><strong data-start="1019" data-end="1039">Guarda y prueba:</strong><br data-start="1039" data-end="1042" />Ahora al acceder a <code data-start="1064" data-end="1078">wp-login.php</code>, te pedirá usuario y contraseña antes de mostrar la pantalla de login.</p>
</li>
</ol>
<p>The post <a href="https://cneris.com/es/como-proteger-wp-login-sin-usar-plugins/">¿Cómo proteger wp-login sin usar plugins?</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cneris.com/es/como-proteger-wp-login-sin-usar-plugins/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>¿Cómo deshabilitar el acceso a la REST API para usuarios no autenticados?</title>
		<link>https://cneris.com/es/como-deshabilitar-el-acceso-a-la-rest-api-para-usuarios-no-autenticados/</link>
					<comments>https://cneris.com/es/como-deshabilitar-el-acceso-a-la-rest-api-para-usuarios-no-autenticados/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 03 Dec 2024 20:51:17 +0000</pubDate>
				<category><![CDATA[Seguridad informática]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[deshabilitar rest api]]></category>
		<category><![CDATA[rest api]]></category>
		<category><![CDATA[seguridad en wordpress]]></category>
		<guid isPermaLink="false">https://cneris.com/?p=2725</guid>

					<description><![CDATA[<p>La REST API de WordPress es una poderosa herramienta que permite interactuar con tu sitio a través de solicitudes HTTP. Sin embargo, puede haber ocasiones en las que desees restringir el acceso a la API, especialmente para usuarios que no han iniciado sesión, por razones de seguridad o privacidad. ¿Cómo deshabilitar el acceso a la [...]</p>
<p>The post <a href="https://cneris.com/es/como-deshabilitar-el-acceso-a-la-rest-api-para-usuarios-no-autenticados/">¿Cómo deshabilitar el acceso a la REST API para usuarios no autenticados?</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>La REST API de WordPress es una poderosa herramienta que permite interactuar con tu sitio a través de solicitudes HTTP. Sin embargo, puede haber ocasiones en las que desees restringir el acceso a la API, especialmente para usuarios que no han iniciado sesión, por razones de seguridad o privacidad.</p>
<h4>¿Cómo deshabilitar el acceso a la REST API para usuarios no autenticados?</h4>
<p>De forma predeterminada, WordPress permite que ciertos endpoints de la REST API sean accesibles públicamente. Para restringir este acceso, puedes usar el filtro <code>rest_authentication_errors</code>. El siguiente código permite bloquear las solicitudes a la API REST para cualquier usuario no autenticado y devuelve un mensaje de error personalizado.</p>
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950">
<blockquote>
<div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none">add_filter(&#8216;rest_authentication_errors&#8217;, function($result) {<br />
if (!empty($result)) {<br />
return $result;<br />
}<br />
if (!is_user_logged_in()) {<br />
return new WP_Error(&#8216;rest_not_logged_in&#8217;, &#8216;Debes iniciar sesión para acceder a la API REST.&#8217;, array(&#8216;status&#8217; =&gt; 401));<br />
}<br />
return $result;<br />
});</div>
</blockquote>
</div>
<h4>¿Qué hace este código?</h4>
<ol>
<li><strong>Filtro <code>rest_authentication_errors</code></strong>: Este filtro se utiliza para controlar los errores de autenticación en la REST API.</li>
<li><strong>Comprobación de errores previos</strong>: Si <code>$result</code> ya contiene un error, lo devuelve tal cual.</li>
<li><strong>Verificación de sesión del usuario</strong>: Si el usuario no ha iniciado sesión (<code>!is_user_logged_in()</code>), se devuelve un error <code>WP_Error</code> con un mensaje personalizado y un código de estado HTTP 401 (No autorizado).</li>
<li><strong>Retorno de resultados</strong>: Si no se cumplen las condiciones anteriores, permite continuar con el manejo normal de la solicitud.</li>
</ol>
<h4>Resultado</h4>
<p>Con este código implementado, cualquier usuario no autenticado recibirá un mensaje de error indicando que debe iniciar sesión para acceder a la API REST. Esto protege la API REST de accesos no autorizados.</p>
<p>The post <a href="https://cneris.com/es/como-deshabilitar-el-acceso-a-la-rest-api-para-usuarios-no-autenticados/">¿Cómo deshabilitar el acceso a la REST API para usuarios no autenticados?</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cneris.com/es/como-deshabilitar-el-acceso-a-la-rest-api-para-usuarios-no-autenticados/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo deshabilitar la REST API en WordPress utilizando código PHP</title>
		<link>https://cneris.com/es/como-deshabilitar-la-rest-api-en-wordpress-utilizando-codigo-php/</link>
					<comments>https://cneris.com/es/como-deshabilitar-la-rest-api-en-wordpress-utilizando-codigo-php/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 03 Dec 2024 20:41:51 +0000</pubDate>
				<category><![CDATA[Seguridad informática]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[codigo php]]></category>
		<category><![CDATA[deshabilitar rest api]]></category>
		<category><![CDATA[rest api]]></category>
		<guid isPermaLink="false">https://cneris.com/?p=2718</guid>

					<description><![CDATA[<p>La API REST de WordPress permite que las aplicaciones interactúen con tu sitio de manera remota, pero en ciertos casos, podrías querer deshabilitarla para mejorar la seguridad o limitar el acceso a los datos. Aquí tienes cómo deshabilitar la REST API en WordPress utilizando código PHP: Pasos: Abre el archivo functions.php de tu tema activo [...]</p>
<p>The post <a href="https://cneris.com/es/como-deshabilitar-la-rest-api-en-wordpress-utilizando-codigo-php/">Cómo deshabilitar la REST API en WordPress utilizando código PHP</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>La API REST de WordPress permite que las aplicaciones interactúen con tu sitio de manera remota, pero en ciertos casos, podrías querer deshabilitarla para mejorar la seguridad o limitar el acceso a los datos. Aquí tienes cómo deshabilitar la REST API en WordPress utilizando código PHP:</p>
<p><strong>Pasos:</strong></p>
<ol>
<li>Abre el archivo <code>functions.php</code> de tu tema activo o crea un plugin personalizado para realizar este ajuste.</li>
<li>Agrega el siguiente código PHP para deshabilitar la API REST para usuarios no autenticados:</li>
</ol>
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950">
<div class="overflow-y-auto p-4" dir="ltr"><em>function deshabilitar_rest_api( $access ) {</em><br />
<em>if ( ! is_user_logged_in() ) {</em><br />
<em>return new WP_Error( &#8216;rest_cannot_access&#8217;, __( &#8216;REST API ha sido deshabilitada para usuarios no autenticados.&#8217;, &#8216;tu-texto-de-dominio&#8217; ), array( &#8216;status&#8217; =&gt; 401 ) );</em><br />
<em>}</em><br />
<em>return $access;</em><br />
<em>}</em><br />
<em>add_filter( &#8216;rest_authentication_errors&#8217;, &#8216;deshabilitar_rest_api&#8217; );</em></div>
</div>
<ol start="3">
<li>Guarda los cambios y verifica que los usuarios no autenticados ya no puedan acceder a la API REST.</li>
</ol>
<p>The post <a href="https://cneris.com/es/como-deshabilitar-la-rest-api-en-wordpress-utilizando-codigo-php/">Cómo deshabilitar la REST API en WordPress utilizando código PHP</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cneris.com/es/como-deshabilitar-la-rest-api-en-wordpress-utilizando-codigo-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo proteger WordPress de la enumeración de usuarios</title>
		<link>https://cneris.com/es/como-proteger-wordpress-de-la-enumeracion-de-usuarios/</link>
					<comments>https://cneris.com/es/como-proteger-wordpress-de-la-enumeracion-de-usuarios/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 03 Dec 2024 20:26:37 +0000</pubDate>
				<category><![CDATA[Seguridad informática]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[enumeración de usuarios]]></category>
		<category><![CDATA[informacion sensible]]></category>
		<guid isPermaLink="false">https://cneris.com/?p=2710</guid>

					<description><![CDATA[<p>La enumeración de usuarios es una técnica utilizada por atacantes para identificar nombres de usuario en sitios WordPress. Una vez descubiertos, pueden usar ataques de fuerza bruta u otros métodos para comprometer cuentas. Aquí te explicamos cómo proteger tu sitio de esta vulnerabilidad. 1. Limitar el acceso a información sensible Desactiva la posibilidad de ver [...]</p>
<p>The post <a href="https://cneris.com/es/como-proteger-wordpress-de-la-enumeracion-de-usuarios/">Cómo proteger WordPress de la enumeración de usuarios</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>La enumeración de usuarios es una técnica utilizada por atacantes para identificar nombres de usuario en sitios WordPress. Una vez descubiertos, pueden usar ataques de fuerza bruta u otros métodos para comprometer cuentas. Aquí te explicamos cómo proteger tu sitio de esta vulnerabilidad.</p>
<h4><strong>1. Limitar el acceso a información sensible</strong></h4>
<ul>
<li>Desactiva la posibilidad de ver detalles de usuarios mediante URLs como <code>?author=1</code>.<br />
Añade el siguiente código a tu archivo <strong>functions.php</strong>:</p>
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950">
<div class="sticky top-9 md:top-[5.75rem]">
<div class="absolute bottom-0 right-2 flex h-9 items-center">
<div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-php"><span class="hljs-title function_ invoke__">add_action</span>(<span class="hljs-string">'template_redirect'</span>, function() {<br />
<span class="hljs-keyword">if</span> (<span class="hljs-title function_ invoke__">is_author</span>()) {<br />
<span class="hljs-title function_ invoke__">wp_redirect</span>(<span class="hljs-title function_ invoke__">home_url</span>());<br />
<span class="hljs-keyword">exit</span>;<br />
}<br />
});<br />
</code></div>
</div>
</li>
</ul>
<h4><strong>2. Usa plugins de seguridad</strong></h4>
<p>Instala plugins como <strong>Wordfence</strong> o <strong>All In One WP Security</strong> para monitorear y bloquear actividades sospechosas. Estos plugins pueden detectar y prevenir intentos de enumeración de usuarios.</p>
<h4><strong>3. Bloquea la enumeración de usuarios desde .htaccess</strong></h4>
<p>Para servidores Apache, utiliza este código en el archivo <code>.htaccess</code> para bloquear solicitudes que busquen nombres de usuario:</p>
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950">
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-apache">RewriteCond %{QUERY_STRING} ^.*(author=\d+).*$<br />
RewriteRule ^(.*)$ /? [L,R=301]<br />
</code></div>
</div>
<h4><strong>4. Implementa políticas de contraseñas seguras</strong></h4>
<p>Asegúrate de que los usuarios usen contraseñas seguras y habilita la autenticación en dos pasos (2FA) para añadir una capa extra de seguridad.</p>
<h4><strong>5. Monitorea los registros de actividad</strong></h4>
<p>Revisa regularmente los registros de tu sitio en busca de actividades inusuales o intentos repetidos de acceder a información de usuarios.</p>
<h4><strong>6. Mantén WordPress actualizado</strong></h4>
<p>Usa siempre la última versión de WordPress, plugins y temas para garantizar que las vulnerabilidades conocidas estén corregidas.</p>
<p>Siguiendo estos pasos, puedes reducir considerablemente el riesgo de enumeración de usuarios y mantener tu sitio WordPress seguro.</p>
<p>The post <a href="https://cneris.com/es/como-proteger-wordpress-de-la-enumeracion-de-usuarios/">Cómo proteger WordPress de la enumeración de usuarios</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cneris.com/es/como-proteger-wordpress-de-la-enumeracion-de-usuarios/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>En Woocommerce no sale la opción de ocultar otros métodos de envío cuando esté disponible el envío gratuito</title>
		<link>https://cneris.com/es/en-woocommerce-no-sale-la-opcion-de-ocultar-otros-metodos-de-envio-cuando-este-disponible-el-envio-gratuito/</link>
					<comments>https://cneris.com/es/en-woocommerce-no-sale-la-opcion-de-ocultar-otros-metodos-de-envio-cuando-este-disponible-el-envio-gratuito/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 17 Nov 2024 22:21:02 +0000</pubDate>
				<category><![CDATA[Administración de Sistemas]]></category>
		<category><![CDATA[Aplicaciones Web]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[metodos de envio]]></category>
		<category><![CDATA[opcion de envio]]></category>
		<category><![CDATA[woocommerce]]></category>
		<guid isPermaLink="false">https://cneris.com/?p=2703</guid>

					<description><![CDATA[<p>Si no aparece la opción "Ocultar otros métodos de envío cuando esté disponible el envío gratuito", puedes lograr este comportamiento ajustando las condiciones de envío manualmente o con un código personalizado. Opción 1: Usar las reglas predeterminadas Ve a WooCommerce &gt; Ajustes &gt; Envío y selecciona tu zona de envío. Configura: Un método de Envío [...]</p>
<p>The post <a href="https://cneris.com/es/en-woocommerce-no-sale-la-opcion-de-ocultar-otros-metodos-de-envio-cuando-este-disponible-el-envio-gratuito/">En Woocommerce no sale la opción de ocultar otros métodos de envío cuando esté disponible el envío gratuito</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Si no aparece la opción <strong>«Ocultar otros métodos de envío cuando esté disponible el envío gratuito»</strong>, puedes lograr este comportamiento ajustando las condiciones de envío manualmente o con un código personalizado.</p>
<h4>Opción 1: Usar las reglas predeterminadas</h4>
<ol>
<li>Ve a <strong>WooCommerce &gt; Ajustes &gt; Envío</strong> y selecciona tu zona de envío.</li>
<li>Configura:
<ul>
<li>Un método de <strong>Envío gratuito</strong> con un pedido mínimo de 60 euros.</li>
<li>Un método de <strong>Tarifa plana</strong> con 5 euros como coste base.</li>
</ul>
</li>
<li>Aunque WooCommerce no oculte automáticamente el método de tarifa plana, el cliente podrá elegir envío gratuito si cumple las condiciones.</li>
</ol>
<h4>Opción 2: Usar un código personalizado</h4>
<p>Puedes añadir este código a tu archivo <code>functions.php</code> para ocultar automáticamente otros métodos de envío si el envío gratuito está disponible:</p>
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950">
<div class="sticky top-9 md:top-[5.75rem]">
<div class="absolute bottom-0 right-2 flex h-9 items-center">
<div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary">add_filter( &#8216;woocommerce_package_rates&#8217;, &#8216;ocultar_metodos_envio_si_gratis_disponible&#8217;, 100 );<br />
function ocultar_metodos_envio_si_gratis_disponible( $rates ) {<br />
$free = array();<br />
foreach ( $rates as $rate_id =&gt; $rate ) {<br />
if ( &#8216;free_shipping&#8217; === $rate-&gt;method_id ) {<br />
$free[ $rate_id ] = $rate;<br />
break;<br />
}<br />
}<br />
return ! empty( $free ) ? $free : $rates;<br />
}</div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"></div>
</div>
<h4>Paso final</h4>
<ul>
<li>Guarda los cambios y recarga la página de checkout para verificar</li>
</ul>
<p>The post <a href="https://cneris.com/es/en-woocommerce-no-sale-la-opcion-de-ocultar-otros-metodos-de-envio-cuando-este-disponible-el-envio-gratuito/">En Woocommerce no sale la opción de ocultar otros métodos de envío cuando esté disponible el envío gratuito</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cneris.com/es/en-woocommerce-no-sale-la-opcion-de-ocultar-otros-metodos-de-envio-cuando-este-disponible-el-envio-gratuito/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Error: Terminating since out of inotify watches. Consider increasing /proc/sys/fs/inotify/max_user_watches</title>
		<link>https://cneris.com/es/error-terminating-since-out-of-inotify-watches-consider-increasing-proc-sys-fs-inotify-max_user_watches/</link>
					<comments>https://cneris.com/es/error-terminating-since-out-of-inotify-watches-consider-increasing-proc-sys-fs-inotify-max_user_watches/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 03 Nov 2024 17:41:24 +0000</pubDate>
				<category><![CDATA[Administración de Sistemas]]></category>
		<category><![CDATA[Centos]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Servidores dedicados]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[inotify watches]]></category>
		<category><![CDATA[max_user_watches]]></category>
		<guid isPermaLink="false">https://cneris.com/?p=2696</guid>

					<description><![CDATA[<p>Error: El error indica que el sistema ha alcanzado el límite de "inotify watches" disponibles, lo que afecta la capacidad de monitorear archivos y directorios. Esto suele ocurrir cuando hay muchas aplicaciones o procesos que requieren observar cambios en archivos y directorios. Solución: Para aumentar el límite de inotify watches, sigue estos pasos: Abre una [...]</p>
<p>The post <a href="https://cneris.com/es/error-terminating-since-out-of-inotify-watches-consider-increasing-proc-sys-fs-inotify-max_user_watches/">Error: Terminating since out of inotify watches. Consider increasing /proc/sys/fs/inotify/max_user_watches</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Error:</strong> El error indica que el sistema ha alcanzado el límite de «inotify watches» disponibles, lo que afecta la capacidad de monitorear archivos y directorios. Esto suele ocurrir cuando hay muchas aplicaciones o procesos que requieren observar cambios en archivos y directorios.</p>
<p><strong>Solución:</strong> Para aumentar el límite de <code>inotify watches</code>, sigue estos pasos:</p>
<ol>
<li>Abre una terminal y verifica el valor actual con:
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950">
<div class="sticky top-9 md:top-[5.75rem]"></div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash"><span class="hljs-built_in">cat</span> /proc/sys/fs/inotify/max_user_watches<br />
</code></div>
</div>
</li>
<li>Aumenta el valor temporalmente (por ejemplo, a 524288) ejecutando:
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950">
<div class="sticky top-9 md:top-[5.75rem]"></div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">sudo sysctl fs.inotify.max_user_watches=524288<br />
</code></div>
</div>
</li>
<li>Para que el cambio sea permanente, edita el archivo <code>/etc/sysctl.conf</code>:
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950">
<div class="sticky top-9 md:top-[5.75rem]"></div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">sudo nano /etc/sysctl.conf<br />
</code></div>
</div>
</li>
<li>Agrega esta línea al final del archivo:
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950">
<div class="sticky top-9 md:top-[5.75rem]"></div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">fs.inotify.max_user_watches=524288<br />
</code></div>
</div>
</li>
<li>Guarda el archivo y aplica el cambio con:
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950">
<div class="sticky top-9 md:top-[5.75rem]"></div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">sudo sysctl -p<br />
</code></div>
</div>
</li>
</ol>
<p>Después de estos pasos, el sistema debería permitir más observadores <code>inotify</code>, y el error no debería volver a aparecer.</p>
<p>The post <a href="https://cneris.com/es/error-terminating-since-out-of-inotify-watches-consider-increasing-proc-sys-fs-inotify-max_user_watches/">Error: Terminating since out of inotify watches. Consider increasing /proc/sys/fs/inotify/max_user_watches</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cneris.com/es/error-terminating-since-out-of-inotify-watches-consider-increasing-proc-sys-fs-inotify-max_user_watches/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>En el panel de administración de wordpress cómo se puede ver las prestaciones el servidor</title>
		<link>https://cneris.com/es/en-el-panel-de-administracion-de-wordpress-como-se-puede-ver-las-prestaciones-el-servidor/</link>
					<comments>https://cneris.com/es/en-el-panel-de-administracion-de-wordpress-como-se-puede-ver-las-prestaciones-el-servidor/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 29 Oct 2024 09:13:55 +0000</pubDate>
				<category><![CDATA[Administración de Sistemas]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[prestaciones del servidor]]></category>
		<category><![CDATA[site health]]></category>
		<guid isPermaLink="false">https://cneris.com/?p=2684</guid>

					<description><![CDATA[<p>En el panel de administración de wordpress cómo se pueden ver las prestaciones el servidor? Instala un plugin de información del sistema Ve al panel de administración de WordPress y selecciona Plugins &gt; Añadir nuevo. Busca plugins como Site Health (Salud del sitio), WP-ServerInfo o Query Monitor. Usar "Salud del sitio" WordPress incluye la herramienta [...]</p>
<p>The post <a href="https://cneris.com/es/en-el-panel-de-administracion-de-wordpress-como-se-puede-ver-las-prestaciones-el-servidor/">En el panel de administración de wordpress cómo se puede ver las prestaciones el servidor</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>En el panel de administración de wordpress cómo se pueden ver las prestaciones el servidor?</p>
<ul>
<li><strong>Instala un plugin de información del sistema</strong><br />
Ve al panel de administración de WordPress y selecciona <strong>Plugins &gt; Añadir nuevo</strong>. Busca plugins como <strong>Site Health</strong> (Salud del sitio), <strong>WP-ServerInfo</strong> o <strong>Query Monitor</strong>.</li>
<li><strong>Usar «Salud del sitio»</strong><br />
WordPress incluye la herramienta <strong>Salud del sitio</strong> en <strong>Herramientas &gt; Salud del sitio</strong>. Aquí puedes ver detalles del entorno del servidor como la versión de PHP, límite de memoria, y tiempo de ejecución máximo.</li>
<li><strong>Ver detalles adicionales</strong><br />
Si necesitas información más específica, puedes instalar <strong>WP-ServerInfo</strong>. Este plugin muestra datos sobre el servidor, como la versión de MySQL, uso de CPU y RAM, y más.</li>
</ul>
<p>The post <a href="https://cneris.com/es/en-el-panel-de-administracion-de-wordpress-como-se-puede-ver-las-prestaciones-el-servidor/">En el panel de administración de wordpress cómo se puede ver las prestaciones el servidor</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cneris.com/es/en-el-panel-de-administracion-de-wordpress-como-se-puede-ver-las-prestaciones-el-servidor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A PHP session was created by a session_start() function call. This interferes with REST API and loopback requests. The session should be closed by session_write_close() before making any HTTP requests.</title>
		<link>https://cneris.com/es/a-php-session-was-created-by-a-session_start-function-call-this-interferes-with-rest-api-and-loopback-requests-the-session-should-be-closed-by-session_write_close-before-making-any-http-requests/</link>
					<comments>https://cneris.com/es/a-php-session-was-created-by-a-session_start-function-call-this-interferes-with-rest-api-and-loopback-requests-the-session-should-be-closed-by-session_write_close-before-making-any-http-requests/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 29 Oct 2024 09:08:22 +0000</pubDate>
				<category><![CDATA[Administración de Sistemas]]></category>
		<category><![CDATA[Centos]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Servidores dedicados]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[session start]]></category>
		<category><![CDATA[session?start]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://cneris.com/?p=2676</guid>

					<description><![CDATA[<p>Este mensaje de error ocurre porque la función session_start() está creando una sesión PHP, lo que interfiere con las solicitudes de la REST API y el loopback en WordPress. Para solucionarlo: Localiza el código de session_start() Busca en tu tema o en los plugins activos la función session_start(). Esta puede estar en el archivo functions.php [...]</p>
<p>The post <a href="https://cneris.com/es/a-php-session-was-created-by-a-session_start-function-call-this-interferes-with-rest-api-and-loopback-requests-the-session-should-be-closed-by-session_write_close-before-making-any-http-requests/">A PHP session was created by a session_start() function call. This interferes with REST API and loopback requests. The session should be closed by session_write_close() before making any HTTP requests.</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Este mensaje de error ocurre porque la función <code>session_start()</code> está creando una sesión PHP, lo que interfiere con las solicitudes de la REST API y el loopback en WordPress. Para solucionarlo:</p>
<ol>
<li><strong>Localiza el código de <code>session_start()</code></strong><br />
Busca en tu tema o en los plugins activos la función <code>session_start()</code>. Esta puede estar en el archivo <code>functions.php</code> del tema o en un plugin personalizado.</li>
<li><strong>Añade <code>session_write_close()</code> después de <code>session_start()</code></strong><br />
Después de cada llamada a <code>session_start()</code>, asegúrate de que <code>session_write_close()</code> se llame antes de realizar cualquier solicitud HTTP. Esto cerrará la sesión y permitirá que la REST API funcione sin problemas. Por ejemplo:</p>
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950">
<div class="sticky top-9 md:top-[5.75rem]">
<div class="absolute bottom-0 right-2 flex h-9 items-center">
<div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-php"><span class="hljs-title function_ invoke__">session_start</span>();<br />
<span class="hljs-comment">// Tu código aquí</span><br />
<span class="hljs-title function_ invoke__">session_write_close</span>();<br />
</code></div>
</div>
</li>
<li><strong>Usar el gancho <code>init</code> en WordPress</strong><br />
Si necesitas que <code>session_start()</code> esté en <code>functions.php</code>, asegúrate de envolverlo en el gancho <code>init</code> y usa <code>session_write_close()</code> de esta manera:</p>
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950">
<div class="sticky top-9 md:top-[5.75rem]">
<div class="absolute bottom-0 right-2 flex h-9 items-center">
<div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-php"><span class="hljs-title function_ invoke__">add_action</span>(<span class="hljs-string">'init'</span>, function() {<br />
<span class="hljs-keyword">if</span> (!<span class="hljs-title function_ invoke__">session_id</span>()) {<br />
<span class="hljs-title function_ invoke__">session_start</span>();<br />
<span class="hljs-title function_ invoke__">session_write_close</span>();<br />
}<br />
});</code></div>
</div>
</li>
</ol>
<p>The post <a href="https://cneris.com/es/a-php-session-was-created-by-a-session_start-function-call-this-interferes-with-rest-api-and-loopback-requests-the-session-should-be-closed-by-session_write_close-before-making-any-http-requests/">A PHP session was created by a session_start() function call. This interferes with REST API and loopback requests. The session should be closed by session_write_close() before making any HTTP requests.</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cneris.com/es/a-php-session-was-created-by-a-session_start-function-call-this-interferes-with-rest-api-and-loopback-requests-the-session-should-be-closed-by-session_write_close-before-making-any-http-requests/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo asignar imagen destacada por defecto según la categoría</title>
		<link>https://cneris.com/es/como-asignar-imagen-destacada-por-defecto-segun-la-categoria/</link>
					<comments>https://cneris.com/es/como-asignar-imagen-destacada-por-defecto-segun-la-categoria/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 29 Oct 2024 08:58:10 +0000</pubDate>
				<category><![CDATA[Administración de Sistemas]]></category>
		<category><![CDATA[Aplicaciones Web]]></category>
		<category><![CDATA[Centos]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Servidores dedicados]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[imagen destacada por defecto]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://cneris.com/?p=2668</guid>

					<description><![CDATA[<p>En WordPress puedes asignar una imagen destacada por defecto para cada categoría de post utilizando un fragmento de código en el archivo functions.php de tu tema. Este código verifica si un post tiene una imagen destacada asignada; si no la tiene, establece una imagen predeterminada según la categoría del post. Código para asignar imagen destacada [...]</p>
<p>The post <a href="https://cneris.com/es/como-asignar-imagen-destacada-por-defecto-segun-la-categoria/">Cómo asignar imagen destacada por defecto según la categoría</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>En WordPress puedes asignar una imagen destacada por defecto para cada categoría de post utilizando un fragmento de código en el archivo <code>functions.php</code> de tu tema. Este código verifica si un post tiene una imagen destacada asignada; si no la tiene, establece una imagen predeterminada según la categoría del post.</p>
<h3>Código para asignar imagen destacada por defecto según la categoría</h3>
<ol>
<li>Abre el archivo <code>functions.php</code> de tu tema (preferiblemente un tema hijo para evitar que se pierdan cambios en futuras actualizaciones).</li>
<li>Añade el siguiente código, reemplazando las URLs de las imágenes por defecto según cada categoría:</li>
</ol>
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950">
<div class="overflow-y-auto p-4" dir="ltr">
<p>function set_default_thumbnail($post_id) {<br />
if (has_post_thumbnail($post_id)) {<br />
return;<br />
}</p>
<p>// Define las imágenes predeterminadas por categoría<br />
$default_images = [<br />
&#8216;categoria-1&#8217; =&gt; &#8216;https://tu-sitio.com/wp-content/uploads/imagen-categoria1.jpg&#8217;,<br />
&#8216;categoria-2&#8217; =&gt; &#8216;https://tu-sitio.com/wp-content/uploads/imagen-categoria2.jpg&#8217;,<br />
&#8216;categoria-3&#8217; =&gt; &#8216;https://tu-sitio.com/wp-content/uploads/imagen-categoria3.jpg&#8217;,<br />
];</p>
<p>// Obtén las categorías del post<br />
$categories = get_the_category($post_id);</p>
<p>// Verifica si hay categorías asignadas y busca una imagen predeterminada<br />
foreach ($categories as $category) {<br />
if (array_key_exists($category-&gt;slug, $default_images)) {<br />
$image_url = $default_images[$category-&gt;slug];</p>
<p>// Descargar la imagen y establecerla como imagen destacada<br />
$image_id = attach_image_from_url($image_url, $post_id);<br />
if ($image_id) {<br />
set_post_thumbnail($post_id, $image_id);<br />
}<br />
break;<br />
}<br />
}<br />
}<br />
add_action(&#8216;save_post&#8217;, &#8216;set_default_thumbnail&#8217;);</p>
<p>// Función para descargar la imagen y adjuntarla al post<br />
function attach_image_from_url($image_url, $post_id) {<br />
$upload_dir = wp_upload_dir();<br />
$image_data = file_get_contents($image_url);<br />
$filename = basename($image_url);</p>
<p>if (wp_mkdir_p($upload_dir[&#8216;path&#8217;])) {<br />
$file = $upload_dir[&#8216;path&#8217;] . &#8216;/&#8217; . $filename;<br />
} else {<br />
$file = $upload_dir[&#8216;basedir&#8217;] . &#8216;/&#8217; . $filename;<br />
}</p>
<p>file_put_contents($file, $image_data);</p>
<p>$wp_filetype = wp_check_filetype($filename, null);<br />
$attachment = [<br />
&#8216;post_mime_type&#8217; =&gt; $wp_filetype[&#8216;type&#8217;],<br />
&#8216;post_title&#8217; =&gt; sanitize_file_name($filename),<br />
&#8216;post_content&#8217; =&gt; »,<br />
&#8216;post_status&#8217; =&gt; &#8216;inherit&#8217;<br />
];</p>
<p>$attach_id = wp_insert_attachment($attachment, $file, $post_id);<br />
require_once(ABSPATH . &#8216;wp-admin/includes/image.php&#8217;);<br />
$attach_data = wp_generate_attachment_metadata($attach_id, $file);<br />
wp_update_attachment_metadata($attach_id, $attach_data);</p>
<p>return $attach_id;<br />
}</p>
</div>
</div>
<h3>Explicación del código</h3>
<ul>
<li><strong><code>$default_images</code></strong>: Define las imágenes predeterminadas para cada categoría. Usa el slug de cada categoría como clave y la URL de la imagen como valor.</li>
<li><strong><code>set_default_thumbnail</code></strong>: Esta función se ejecuta al guardar un post y verifica si tiene una imagen destacada. Si no tiene, busca la primera categoría que tenga una imagen predeterminada en el array <code>$default_images</code> y la establece como imagen destacada.</li>
<li><strong><code>attach_image_from_url</code></strong>: Esta función descarga la imagen de la URL y la adjunta al post como archivo multimedia, generando así una imagen destacada.</li>
</ul>
<p>Este código asignará automáticamente una imagen destacada por defecto a los posts nuevos (o editados) según su categoría.</p>
<p><strong>Nota</strong>: Asegúrate de probar el código en un entorno de desarrollo antes de implementarlo en producción, y reemplaza las URLs de ejemplo con las URLs de las imágenes que quieres usar.</p>
<p>The post <a href="https://cneris.com/es/como-asignar-imagen-destacada-por-defecto-segun-la-categoria/">Cómo asignar imagen destacada por defecto según la categoría</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cneris.com/es/como-asignar-imagen-destacada-por-defecto-segun-la-categoria/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo cambiar el color del borde de una tabla de forma inline (en HTML)</title>
		<link>https://cneris.com/es/como-cambiar-el-color-del-borde-de-una-tabla-de-forma-inline-en-html/</link>
					<comments>https://cneris.com/es/como-cambiar-el-color-del-borde-de-una-tabla-de-forma-inline-en-html/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 27 Oct 2024 11:54:47 +0000</pubDate>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[borde table]]></category>
		<category><![CDATA[borde table inline]]></category>
		<category><![CDATA[table inline]]></category>
		<guid isPermaLink="false">https://cneris.com/?p=2660</guid>

					<description><![CDATA[<p>Para cambiar el color del borde de una tabla en línea en HTML, puedes usar el atributo style de esta manera: &lt;table style="border: 2px solid blue;"&gt; &lt;tr&gt; &lt;td&gt;Celda 1&lt;/td&gt; &lt;td&gt;Celda 2&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; En este ejemplo, el borde de la tabla tendrá un grosor de 2px y será de color azul (blue). Puedes cambiar el [...]</p>
<p>The post <a href="https://cneris.com/es/como-cambiar-el-color-del-borde-de-una-tabla-de-forma-inline-en-html/">Cómo cambiar el color del borde de una tabla de forma inline (en HTML)</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Para cambiar el color del borde de una tabla en línea en HTML, puedes usar el atributo <code>style</code> de esta manera:</p>
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950">
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-html"><span class="hljs-tag">&lt;<span class="hljs-name">table</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"border: 2px solid blue;"</span>&gt;</span><br />
<span class="hljs-tag">&lt;<span class="hljs-name">tr</span>&gt;</span><br />
<span class="hljs-tag">&lt;<span class="hljs-name">td</span>&gt;</span>Celda 1<span class="hljs-tag">&lt;/<span class="hljs-name">td</span>&gt;</span><br />
<span class="hljs-tag">&lt;<span class="hljs-name">td</span>&gt;</span>Celda 2<span class="hljs-tag">&lt;/<span class="hljs-name">td</span>&gt;</span><br />
<span class="hljs-tag">&lt;/<span class="hljs-name">tr</span>&gt;</span><br />
<span class="hljs-tag">&lt;/<span class="hljs-name">table</span>&gt;</span><br />
</code></div>
</div>
<p>En este ejemplo, el borde de la tabla tendrá un grosor de <strong>2px</strong> y será de color <strong>azul</strong> (<code>blue</code>). Puedes cambiar el valor de <code>solid blue</code> a otros colores y estilos, como <code>dotted</code> (punteado) o <code>dashed</code> (rayado).</p>
<p>The post <a href="https://cneris.com/es/como-cambiar-el-color-del-borde-de-una-tabla-de-forma-inline-en-html/">Cómo cambiar el color del borde de una tabla de forma inline (en HTML)</a> appeared first on <a href="https://cneris.com/es">CNERIS</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cneris.com/es/como-cambiar-el-color-del-borde-de-una-tabla-de-forma-inline-en-html/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
