<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:georss="http://www.georss.org/georss">
<channel>
<title>Hack  - Tutoriales En Linea 🎓</title>
<link>https://tutorialesenlinea.es/</link>
<language></language><item>
<title>Como personalizar la nube de etiquetas</title>
<link>https://tutorialesenlinea.es/1962-como-personalizar-la-nube-de-etiquetas.html</link>
<pdalink>https://tutorialesenlinea.es/1962-como-personalizar-la-nube-de-etiquetas.html</pdalink>
<guid>https://tutorialesenlinea.es/1962-como-personalizar-la-nube-de-etiquetas.html</guid>
<pubDate>Sat, 18 May 2024 20:13:02 +0200</pubDate>
<category>native-yes</category>

<enclosure url="https://tutorialesenlinea.es/uploads/posts/2018-08/thumbs/1534023211_tag_-tutoriales_en_linea.webp" type="image/webp" />
<content:encoded><![CDATA[<p>En este Tutoriales En Linea les traemos la manera de personalizar la nube de etiquetas de tu sitio web de DataLife Engine (DLE) - CMS. Decidí tratar de hacer lindos los enlaces en la nube de etiquetas y encontré varios problemas con la configuración de la plantilla. </p><p><br></p><p><a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2018-08/1534023211_tag_-tutoriales_en_linea.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2018-08/thumbs/1534023211_tag_-tutoriales_en_linea.webp" alt="" class="fr-dib" itemprop="image" width="450" height="338"></a><br></p><p>En particular, estamos hablando de la completa falta de oportunidad para personalizar su plantilla. Además, estas "comas" obligatorias también están fuera de lugar, y para cambiar o eliminar algo, solo necesita realizar cambios en los <b>archivos php</b>. Esa es la solución a estos problemas, y lo haremos. Y como bonificación, les daré el código y los estilos de las etiquetas como en la imagen. (esta personalizacion de la nube de etiquetas esta comprobado en la versión de DLE 17.1)</p><p><br></p><h1>Instalación</h1><p><br></p><p>Abra el archivo: <b>engine/modules/show.full.php</b></p><p><br></p><p>Encuentre la línea:</p><pre class="language-markup"><code>$tpl-&gt;set( '{tags}', implode( $config['tags_separator'], $tags ) );</code></pre><pre><code>$tpl-&gt;set( '{tags}', implode( " ", $tags ) );</code></pre><p>Después de eso, pega:</p><pre><code>if(preg_match("#{tags=['\"]([^'\"]*)['\"]}#i",$tpl-&gt;copy_template,$sep)) $tpl-&gt;set($sep[0],implode($sep[1],$tags));</code></pre><p><b>tags=['"]([^'\"]*)['\"] = Dentro de '" va una Barra inversa antes de las dobles comillas.</b></p><p>OJO ESTO SE REPITE PATA TODOS LOS CASOS</p><p><br></p><p>Ahora la página de nube de etiquetas en sí: </p><p><br></p><p>Abra el archivo <b>engine/modules/tagscloud.php</b></p><p><br></p><p>Encuentre la línea:</p><pre><code>else $sql_select = "SELECT tag, COUNT(*) AS count FROM " . PREFIX . "_tags GROUP BY tag";</code></pre><p>Después de eso, pega:</p><pre><code>$tagsort = 'tag'; if(preg_match("#\\[list([^\]]*)\\](.+?)\\[/list\\]#is",$tpl-&gt;copy_template,$tpl_list)){ $limit = false; $sep = ''; if(preg_match("#limit=['\"](\d+)['\"]#i",$tpl_list[1],$lm)){ $lm = intval($lm[1]); if($lm&gt;0){ $limit = true; $sql_select = "SELECT tag, COUNT(*) AS count FROM " . PREFIX . "_tags GROUP BY tag ORDER BY count DESC LIMIT 0,$lm"; } } if(preg_match("#sep=['\"]([^'\"]*)['\"]#i",$tpl_list[1],$sp)) $sep = $sp[1]; if(preg_match("#sort=['\"](count|tag)['\"]#i",$tpl_list[1],$tgsr)) $tagsort = $tgsr[1]; } if(!$limit) $sql_select = "SELECT tag, COUNT(*) AS count FROM " . PREFIX . "_tags GROUP BY tag ORDER BY count DESC"; </code></pre><p>Luego vuelve a buscar la línea:</p><pre><code>usort ($list, "compare_tags");</code></pre><p>Antes de eso pegar (2):</p><pre><code>if($tagsort=='tag')</code></pre><p>Encuentre la línea:</p><pre><code>if ($config['allow_alt_url'] ) $tags[] = "&lt;span class=\"{$value['size']}\"&gt;&lt;a href=\"".$config['http_home_url']."tags/".urlencode($value['tag'])."/\" title=\"".$lang['tags_count']." ".$value['count']."\"&gt;".$value['tag']."&lt;/a&gt;&lt;/span&gt;"; else $tags[] = "&lt;span class=\"{$value['size']}\"&gt;&lt;a href=\"$PHP_SELF?do=tags&amp;amp;tag=".urlencode($value['tag'])."\" title=\"".$lang['tags_count']." ".$value['count']."\"&gt;".$value['tag']."&lt;/a&gt;&lt;/span&gt;"; </code></pre><p>O algo así parecido varia dependiendo de la versión que utilices, y tener cuidado con el cierre:<b> } en el 3.</b></p><p>Reemplace con:</p><pre><code>if($tpl_list[2]){ if ($config['allow_alt_url'] ) $link = $config['http_home_url']."tags/".urlencode($value['tag'])."/"; else $link = $PHP_SELF."?do=tags&amp;amp;tag=".urlencode($value['tag']); $temp = $tpl_list[2]; $temp = str_ireplace("{link}",$link,$temp); $temp = str_ireplace("{tag}",$value['tag'],$temp); $temp = str_ireplace("{count}",$value['count'],$temp); $tags[] = $temp; }else{ if ($config['allow_alt_url'] ) $tags[] = "&lt;a href=\"".$config['http_home_url']."tags/".urlencode($value['tag'])."/\" class=\"{$value['size']}\" title=\"".$lang['tags_count']." ".$value['count']."\"&gt;".$value['tag']."&lt;/a&gt;"; else $tags[] = "&lt;a href=\"$PHP_SELF?do=tags&amp;amp;tag=".urlencode($value['tag'])."\" class=\"{$value['size']}\" title=\"".$lang['tags_count']." ".$value['count']."\"&gt;".$value['tag']."&lt;/a&gt;"; }</code></pre><p>Encuentra la cadena:</p><p><br></p><pre><code>$tags = implode(", ", $tags);</code></pre><p>o</p><pre><code>$tags = implode($tags);</code></pre><p>varia dependiendo de la versión que utilices.</p><p><br></p><p>Ante de eso pegar:</p><pre><code>if($tpl_list[0]) $tpl-&gt;copy_template = str_replace($tpl_list[0],implode($sep,$tags),$tpl-&gt;copy_template);</code></pre><p>Ahora, en la plantilla<b> tagscloud.tpl</b> , puede usar la estructura en lugar de solo la etiqueta {<b>tags</b>}:</p><pre><code>[list limit="100" sep="" sort="count"]&lt;a href="{link}"&gt;&lt;span class="tagname"&gt;{tag}&lt;/span&gt;&lt;span class="tagcount"&gt;{count}&lt;/span&gt;&lt;/a&gt;</li></ul></code></pre><p>Donde:</p><pre><code><b>limit</b>: el número de etiquetas. <b>sep:</b> entre comillas se especifica el delimitador entre las etiquetas, no se puede especificar la etiqueta. <b>sort: </b>etiqueta o conteo, respectivamente clasificación por nombre de etiqueta o por número. Todos los parámetros anteriores son opcionales. Puedes escribir simplemente: [list]&lt;a href="{link}"&gt;{tag} ({count})&lt;/a&gt;</li></ul> <b>{link}:</b> la dirección de la página de etiquetas. <b>{tag}:</b> el nombre de la etiqueta. <b>{count}:</b> la cantidad de noticias con la etiqueta.</code></pre><h2>Bonificación:</h2><p><br></p><p>En la plantilla <b>tagscloud.tpl</b>, use el siguiente código:</p><p><br></p><pre><code>&lt;div class="numbertag"&gt; [list limit="100" sort="count"]&lt;a href="{link}"&gt;&lt;span class="tagname"&gt;{tag}&lt;/span&gt;&lt;span class="tagcount"&gt;{count}&lt;/span&gt;&lt;/a&gt;</li></ul> &lt;/div&gt;</code></pre><p>En la plantilla <b>fullstory.tpl,</b> (o donde tengas ubicado los tag), el código es:</p><p><br></p><pre><code>&lt;div class="finetags"&gt;{tags=''}&lt;/div&gt;</code></pre><h2>CSS</h2><p><br></p><pre><code>.numbertag a, .finetags a{ box-sizing: border-box; display: inline-block; height: 27px; border: 1px solid #d4d4d4; border-bottom-color: #c7c7c7; border-radius: 3px 0 0 3px; box-shadow: 0 1px 3px rgba(0,0,0,.3); background: #f8f9fa url(https://tutorialesenlinea.es/templates/Tutoriales_En_Linea_es/images/tag_5Tutoriales_En_Linea.webp) repeat-x 0 0; color: #222; font: bold 12px/25px 'Trebuchet MS',Tahoma,sans-serif; text-decoration: none; padding: 0; position: relative; margin:0 15px 11px 0; } .finetags a{ padding: 0 15px; } .numbertag a:hover, .finetags a:hover{ background-image: url(https://tutorialesenlinea.es/templates/Tutoriales_En_Linea_es/images/tag_1Tutoriales_En_Linea.webp); } .numbertag a&gt;span{ display: inline-block; position: relative; } .numbertag .tagname{ padding: 0 15px; } .numbertag .tagcount{ padding: 0 8px; font: bold 11px/27px Tahoma; color: #fff; background: #0095e9 url(https://tutorialesenlinea.es/templates/Tutoriales_En_Linea_es/images/tag_2Tutoriales_En_Linea.webp) repeat-x 0 0; } .tagcount:after, .tagcount:before, .finetags a:after, .finetags a:before{ content: ""; display: block; left: 100%; top: 0; position: absolute; width: 5px; height: 27px; } .finetags a:after{ margin-left: -4px; } .finetags a:before{ margin-left: 1px; } .tagcount:before{ left: -5px; } .tagcount:before, .finetags a:after{ background: url(https://tutorialesenlinea.es/templates/Tutoriales_En_Linea_es/images/tag_3Tutoriales_En_Linea.webp) no-repeat; } .tagcount:after, .finetags a:before{ width: 3px; background: url(https://tutorialesenlinea.es/templates/Tutoriales_En_Linea_es/images/tag_4Tutoriales_En_Linea.webp) no-repeat; }</code></pre><p>Un ejemplo del trabajo se puede encontrar en: <a href="https://tutorialesenlinea.es/tags/" target="_blank">www.tutorialesenlinea.es/tags/</a></p><p><br></p><h2>Opcional</h2><p><br></p><p>Ahora en la plantilla<b> fullstory.tpl,</b> puede mostrar etiquetas con una etiqueta:</p><p><br></p><pre><code>{tags=""}</code></pre><p>Donde entre comillas se especifica un símbolo o separador de texto entre las etiquetas. A continuación, le mostramos cómo puede repetir el resultado de la etiqueta estándar:</p><p><br></p><pre><code>{tags} {tags=", "}</code></pre><p><a href="https://acortador.tutorialesenlinea.es/wtDWiX2" target="_blank" rel="noopener external nofollow"><b>Ver archivo en Google Drive de tagscloud.php</b></a></p>]]></content:encoded>
</item><item>
<title>¿Cómo puedo cambiar la vista de recuento de vistas en la historia completa de Datalife Engine?</title>
<link>https://tutorialesenlinea.es/3539-como-puedo-cambiar-la-vista-de-recuento-de-vistas-en-la-historia-completa-de-datalife-engine.html</link>
<pdalink>https://tutorialesenlinea.es/3539-como-puedo-cambiar-la-vista-de-recuento-de-vistas-en-la-historia-completa-de-datalife-engine.html</pdalink>
<guid>https://tutorialesenlinea.es/3539-como-puedo-cambiar-la-vista-de-recuento-de-vistas-en-la-historia-completa-de-datalife-engine.html</guid>
<pubDate>Fri, 21 Oct 2022 10:59:46 +0200</pubDate>
<category>native-yes</category>

<enclosure url="https://tutorialesenlinea.es/uploads/posts/2021-11/thumbs/1637342846_datalife-engine-v15-version-final_tutoriales_en_linea.webp" type="image/webp" />
<content:encoded><![CDATA[<p>En este Tutoriales en linea les mostraremos este HACK en el sistema de gestion de contenido de Datalife Engine, con el cual mostraremos el contador de visitas 1K en vez de 1000 vistas.</p><p><br></p><p><a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2021-11/1637342846_datalife-engine-v15-version-final_tutoriales_en_linea.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2021-11/thumbs/1637342846_datalife-engine-v15-version-final_tutoriales_en_linea.webp" alt="¿Cómo puedo cambiar la vista de recuento de vistas en la historia completa de Datalife Engine?" class="fr-dib" itemprop="image" width="450" height="338"></a><br></p><p>¿Cómo puedo cambiar la vista de recuento de vistas en la historia completa de Datalife Engine? - Luego del aumento en el tráfico del sitio, surgió la pregunta de reducir el tipo de contador de vistas de noticias, el punto es que cuando el contador llega a 1000 vistas, en lugar de 1000 mostrar 1K.</p><p><br></p><p>Para esto crearemos un nuevo archivo en la carpeta <b>engine/modules, </b>llamado <b>views.php </b>con el siguiente codigo:</p><pre class="language-markup"><code>&lt;?php /* ===================================================== <a href="https://tutorialesenlinea.es/">https://tutorialesenlinea.es/</a> ----------------------------------------------------- Copyright (c) 2004-2021 ===================================================== Archivo: views.php ----------------------------------------------------- Uso: con el cual mostraremos el contador de visitas 1K en vez de 1000 vistas. ===================================================== */ if( !defined('DATALIFEENGINE') ) { header( "HTTP/1.1 403 Forbidden" ); header ( 'Location: ../../' ); die( "Hacking attempt!" ); } $amounts = [ '', 'К', 'М', 'B', ]; $level = 0; $views = preg_replace('/[^\d]/', '', $views); $views = intval($views); while ($views &gt; 1000) { $views = $views / 1000; $level++; } $views = round($views, 1); echo $views . $amounts[$level]; ?&gt;</code></pre><p>Incluir en tu plantilla:</p><pre class="language-markup"><code>&#123;include file="engine/modules/views.php?views={views}"}</code></pre><blockquote><p>PD: En ocaciones este CMS daña el codigo, no obstante tenemos el codigo en Google Drive que estamos utilizando en este sitio.<a href="https://acortador.tutorialesenlinea.es/pDDEDf" target="_blank" rel="noopener external nofollow"><b> Ir al sitio</b></a></p></blockquote>]]></content:encoded>
</item><item>
<title>Como mostrar imagen del perfil en el articulo completo de Datalife Engine</title>
<link>https://tutorialesenlinea.es/3463-como-mostrar-imagen-del-perfil-en-el-articulo-completo-de-datalife-engine.html</link>
<pdalink>https://tutorialesenlinea.es/3463-como-mostrar-imagen-del-perfil-en-el-articulo-completo-de-datalife-engine.html</pdalink>
<guid>https://tutorialesenlinea.es/3463-como-mostrar-imagen-del-perfil-en-el-articulo-completo-de-datalife-engine.html</guid>
<pubDate>Sun, 03 Apr 2022 14:45:29 +0200</pubDate>
<category>native-yes</category>

<enclosure url="https://tutorialesenlinea.es/uploads/posts/2022-04/thumbs/como-mostrar-imagen-del-perfil-en-el-articulo-completo-de-datalife-engine-tutoriales_en_linea.webp" type="image/webp" />
<content:encoded><![CDATA[<p><a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2022-04/como-mostrar-imagen-del-perfil-en-el-articulo-completo-de-datalife-engine-tutoriales_en_linea.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2022-04/thumbs/como-mostrar-imagen-del-perfil-en-el-articulo-completo-de-datalife-engine-tutoriales_en_linea.webp" alt="Como mostrar imagen del perfil en el articulo completo de Datalife Engine" class="fr-dib" width="450" height="338" itemprop="image"></a>En este tutorial les mostraremos la manera de mostrar la imagen del perfil del usuario en el articulo completo o en la historia completa en el sistema de gestion de contenido de Datalife Engine.</p><p>Para ellos vamos a <b>/modules/show.full.php </b>y buscamos:</p><pre class="language-markup"><code>$tpl-&gt;set( '{login}', $row['autor'] );</code></pre><p>Abajo agregamos: </p><pre class="language-markup"><code> $avatar = $db-&gt;get_row($db-&gt;query("SELECT foto FROM ".PREFIX."_users WHERE name='".$row['autor']."'")); if($avatar['foto']) $tpl-&gt;set('{avatar}', $config['http_home_url']."".$avatar['foto']); else $tpl-&gt;set('{avatar}', "&#123;THEME}/dleimages/noavatar.png");</code></pre><p>o</p><pre class="language-markup"><code> $avatar = $db-&gt;get_row($db-&gt;query("SELECT foto FROM ".PREFIX."_users WHERE name='".$row['autor']."'")); if($avatar['foto']) $tpl-&gt;set('{avatar}', $config['http_home_url']."uploads/fotos/".$avatar['foto']); else $tpl-&gt;set('{avatar}', "&#123;THEME}/dleimages/noavatar.png");</code></pre><p>En nuestra template <b>fullstory.tpl</b></p><pre class="language-markup"><code>&lt;img src="{avatar}" alt="{login}"&gt;</code></pre><pre class="language-markup"><code>&lt;img resize="w:95,h:95,q:80" data-src="{avatar}" crop="c-l" loading="lazy" srcset="{avatar}?resize=95%2C95&amp;amp;ssl=1 95w" sizes="(max-width: 95px) 95vw, 95px" alt="{login}" class="tu clase"&gt; </code></pre><p><b>Probada en la version 15.0 y 14.1</b></p>]]></content:encoded>
</item><item>
<title>¿Cómo agregar el atributo itemprop=image en el articulo completo de Datalife Engine?</title>
<link>https://tutorialesenlinea.es/3307-como-agregar-el-atributo-itemprop_image-en-el-articulo-completo-de-datalife-engine.html</link>
<pdalink>https://tutorialesenlinea.es/3307-como-agregar-el-atributo-itemprop_image-en-el-articulo-completo-de-datalife-engine.html</pdalink>
<guid>https://tutorialesenlinea.es/3307-como-agregar-el-atributo-itemprop_image-en-el-articulo-completo-de-datalife-engine.html</guid>
<pubDate>Sun, 03 Apr 2022 14:07:38 +0200</pubDate>
<category>native-yes</category>

<enclosure url="https://tutorialesenlinea.es/uploads/posts/2021-06/thumbs/1624479589_como-agregar-el-atributo-itemprop_image-en-el-articulo-completo-de-datalife-engine_tutoriales_en_linea.webp" type="image/webp" />
<content:encoded><![CDATA[<p>En este tutoriales en linea les mostrare la manera de agregar el atributo de la imagen que falta por el marcado de datos estructurados de schema en la historia o articulo completo de nuestro sistema de gestión de contenido de datalife engine.</p><p><br></p><p><a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2021-06/1624479589_como-agregar-el-atributo-itemprop_image-en-el-articulo-completo-de-datalife-engine_tutoriales_en_linea.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2021-06/thumbs/1624479589_como-agregar-el-atributo-itemprop_image-en-el-articulo-completo-de-datalife-engine_tutoriales_en_linea.webp" alt="¿Cómo agregar el atributo itemprop=image en el articulo completo de Datalife Engine?" class="fr-dib" itemprop="image" width="450" height="338"></a></p><p>En pocas palabras agregar <b>itemprop="image" </b>en tu articulo o historia completa de DLE (fullstory.tpl).</p><p><br></p><p>Antes</p><pre><code>&lt;a class="highslide" href="la url de la imagen" target="_blank"&gt; &lt;img src="la url de la imagen" alt="Titulo del articulo" class="fr-dib"&gt; &lt;/a&gt;</code></pre><p>Despues</p><pre><code>&lt;a class="highslide" href="la url de la imagen" target="_blank"&gt; &lt;img src="la url de la imagen" alt="Titulo del articulo" class="fr-dib" <b>itemprop="image"</b>&gt; &lt;/a&gt;</code></pre><p>Para conseguir este resultado debemos ir a nuestro servidor y abrir el archivo <b>engine/editor/jscripts/froala/editor.js</b></p><p><br></p><p>Buscar:</p><pre><code>on("load",g.size.syncIframe)</code></pre><p>Agregar despues:</p><pre><code>;t.attr('itemprop','image')</code></pre><p>Luego buscamos en el mismo archivo:</p><pre><code>marginRight:0,textAlign:"right"}))</code></pre><p>y agregamos:</p><pre><code>;e.attr('itemprop','image')</code></pre><p><b>Nota</b>: Esto es solo para el editor visual Froala - <b>FroalaEditor (WYSIWYG)</b>, en otros editores y códigos bb simples no habrá ningún atributo. No olvide borrar la memoria caché del navegador de las versiones anteriores de los archivos js.</p>]]></content:encoded>
</item><item>
<title>Datalife engine 15.0 - 15.1 es vulnerables exploit hack - Puerta trasera</title>
<link>https://tutorialesenlinea.es/3429-datalife-engine-15_1_es_vulnerables_exploit-hack_puerta-trasera.html</link>
<pdalink>https://tutorialesenlinea.es/3429-datalife-engine-15_1_es_vulnerables_exploit-hack_puerta-trasera.html</pdalink>
<guid>https://tutorialesenlinea.es/3429-datalife-engine-15_1_es_vulnerables_exploit-hack_puerta-trasera.html</guid>
<pubDate>Sun, 06 Feb 2022 12:11:21 +0100</pubDate>
<category>native-yes</category>

<enclosure url="https://tutorialesenlinea.es/uploads/posts/2021-11/thumbs/1637342846_datalife-engine-v15-version-final_tutoriales_en_linea.webp" type="image/webp" />
<enclosure url="https://tutorialesenlinea.es/uploads/posts/2022-02/thumbs/1644147265_captura.webp" type="image/webp" />
<content:encoded><![CDATA[<p><a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2021-11/1637342846_datalife-engine-v15-version-final_tutoriales_en_linea.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2021-11/thumbs/1637342846_datalife-engine-v15-version-final_tutoriales_en_linea.webp" alt="Datalife engine 15.0 - 15.1 es vulnerables exploit hack - Puerta trasera" class="fr-dib" itemprop="image" width="450" height="338"></a>En este tutoriales en linea les traemos esta desagradable noticia sobre el CMS de DataLife Engine en las versiones 15.0 - 15.1, incluso esta web se ejecuta con la v. 14.1 y es vulnerable a exploit hack - Puerta trasera.</p><p><br></p><p>No obstante, si has comprado el CMS original desde el sitio web de dle-news.com, estos son Softnews Media Group no se han pronunciado por esa vulnerabilidad. Me imagino que no tendrá ese exploit. Nosotros los usuarios del día a día que tenemos que descargar en sitio web de la red tenemos que confiar con la versión del DLE.</p>¡Información muy importante!<br>En la primera versión del motor DataLife 15.1 que había publicado. Hay un Malware/Virus , les pediría a aquellos que lo han descargado que vayan a través de su FTP a la carpeta <b>engine/ajax</b> y busquen el archivo <b>js.php</b> y lo eliminen lo antes posible. Me jodí a mí mismo, y lo siento, debería haber verificado la fuente.<br>Datalife Engine versión 15.1 build id 106 está limpio.<br>Con disculpas DarkLane - Esta es una web de Francia que hace referencia a esta. <h2>¿Qué es un Exploit?</h2><p><br></p><p>Un exploit es un programa informático, una parte de un software o una secuencia de comandos que se aprovecha de un error o vulnerabilidad para provocar un comportamiento no intencionado o imprevisto en un software, hardware o en cualquier dispositivo electrónico.</p><p><br></p><p>Estos comportamientos incluyen, por lo general, la toma del control de un sistema, la concesión privilegios de administrador al intruso o el lanzamiento de un ataque de denegación de servicio (DoS o DDoS).</p><p><br></p><p>Además, de eso encontré un video que <b>explica exploit hack</b>. - El usuario lo volvio privado.</p><p><br></p><p>Menos mal que nuestros servidores cuenta con <b>imunify360 </b>integrado en nuestro cpanel y los elimino de inmediato.</p><p><br></p><p><a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2022-02/1644147265_captura.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2022-02/thumbs/1644147265_captura.webp" alt="Datalife engine 15.0 - 15.1 es vulnerables exploit hack - Puerta trasera" class="fr-dib" width="450" height="338" itemprop="image"></a></p><p>Motivo: SMW-BLKH-91212-php.bkdr.wshll</p><p><br></p><p><b>SMW </b>significa Server Malware, lo que significa que el código malicioso se ejecuta en el lado del servidor. CMW: ejecuciones maliciosas en el lado del cliente, por ejemplo, en el navegador.</p><p><br></p><p>SA y <b>BLKH </b>- archivo de malware independiente - totalmente malicioso.</p><p><br></p><p><b>bkdr.wshll - </b>A menudo, el software malicioso independiente se propaga libremente como parte de un complemento, <b>CMS </b>o tema popular anulado. Puerta trasera independiente en CMS anulado.</p><p><br></p><p>Lo anterior muestra la puerta trasera independiente junto con el CMS anulado marcada por <b>SMW-BLKH-91212-php.bkdr.wshll. </b>Información es decir, términos dados por el blog de imunify360.</p><p><br></p><p>Y por ultimo no se olviden de ir a vuestros servidores y comprobar si el archivo esta ahí latente o ya esta siendo atacados, saludos..</p>]]></content:encoded>
</item><item>
<title>Carga de noticias ajax en Datalife Engine</title>
<link>https://tutorialesenlinea.es/3332-carga-de-noticias-ajax-en-datalife-engine.html</link>
<pdalink>https://tutorialesenlinea.es/3332-carga-de-noticias-ajax-en-datalife-engine.html</pdalink>
<guid>https://tutorialesenlinea.es/3332-carga-de-noticias-ajax-en-datalife-engine.html</guid>
<pubDate>Sat, 24 Jul 2021 13:18:21 +0200</pubDate>
<category>native-yes</category>

<enclosure url="https://tutorialesenlinea.es/uploads/posts/2021-07/thumbs/1627125476_carga-de-noticias-ajax-en-datalife-engine_tutoriales_en_linea.webp" type="image/webp" />
<enclosure url="https://tutorialesenlinea.es/uploads/posts/2021-07/thumbs/1627118028_carga-de-noticias-ajax-en-datalife-engine_tutoriales_en_linea.webp" type="image/webp" />
<content:encoded><![CDATA[<p><a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2021-07/1627125476_carga-de-noticias-ajax-en-datalife-engine_tutoriales_en_linea.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2021-07/thumbs/1627125476_carga-de-noticias-ajax-en-datalife-engine_tutoriales_en_linea.webp" alt="Carga de noticias ajax en Datalife Engine" class="fr-dib" itemprop="image" width="450" height="338"></a>En este tutoriales en linea les mostraremos este pequeño truco en el CMS de Datalife Engine el cual te permite cargar noticias a través del Ajax. <a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2021-07/1627118028_carga-de-noticias-ajax-en-datalife-engine_tutoriales_en_linea.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2021-07/thumbs/1627118028_carga-de-noticias-ajax-en-datalife-engine_tutoriales_en_linea.webp" alt="Carga de noticias ajax en Datalife Engine" class="fr-dib" itemprop="image" width="450" height="338"></a>1 - En su plantilla <b>navigation.tpl</b></p><pre><code>&lt;div class="bottom-nav ignore-select" id="bottom-nav"&gt; &lt;div class="nav-load" id="nav-load"&gt;[next-link]Cargar mas...[/next-link]&lt;/div&gt; &lt;!-- aquí puede insertar navegación normal adicional --&gt; &lt;/div&gt;</code></pre><p>2 - Al final del archivo css de su plantilla</p><pre><code>.bottom-nav {clear: both; padding-top: 60px;} .nav-load {text-align: center;} .nav-load a {padding: 0 60px; display: inline-block; height: 60px; line-height: 60px; border-radius: 30px; font-weight: 700; font-size: 18px; background-color: #2980b9; color: #fff;} .nav-load a:hover {background-color: #00a652; color: #fff;} .nav-load span {display: none;}</code></pre><p>3 - Al final del archivo js de su plantilla o antes del cierre del body del main.</p><pre><code>$(document).ready(function(){ $('body').on('click','#nav-load a',function(){ var urlNext = $(this).attr('href'); var scrollNext = $(this).offset().top - 200; if (urlNext !== undefined) { $.ajax({ url: urlNext, beforeSend: function() { ShowLoading(''); }, success: function(data) { $('#bottom-nav').remove(); $('#dle-content').append($('#dle-content', data).html()); $('#dle-content').after($('#bottom-nav')); window.history.pushState("", "", urlNext); $('html, body').animate({scrollTop:scrollNext}, 800); HideLoading(''); }, error: function() { HideLoading(''); alert('Algo salió mal - Tutoriales en linea'); } }); }; return false; }); });</code></pre><h2>Carga automática al desplazarse o Carga infinita</h2><p><br></p><p>Como resultado, a medida que se desplaza a las noticias inferiores, las siguientes noticias se descargarán automáticamente.</p><p><br></p><p>1 - En su plantilla <b>navigation.tpl</b></p><pre><code>&lt;div class="bottom-nav ignore-select" id="bottom-nav"&gt; &lt;div class="nav-load" id="nav-load"&gt;[next-link]Cargar mas..[/next-link]&lt;/div&gt; &lt;/div&gt;</code></pre><p>2 - en su css</p><pre><code>.bottom-nav {clear: both; opacity:0;}</code></pre><p>3 - Al final del archivo js de su plantilla o antes del cierre del body del main.</p><pre><code>$(document).ready(function(){ var loadLink = $('#nav-load'), loadStatus = 0; $(window).scroll (function () { if ($(this).scrollTop() + $(this).height() + 50 &gt; loadLink.offset().top) { var urlNext = loadLink.find('a').attr('href'); if (urlNext !== undefined &amp;&amp; loadStatus == 0) { loadStatus = 1; $.ajax({ url: urlNext, beforeSend: function() { ShowLoading(); }, success: function(data) { $('#bottom-nav').remove(); $('#dle-content').append($('#dle-content', data).html()).after($('#bottom-nav')); window.history.pushState("", "", urlNext); HideLoading(); loadStatus = 0, loadLink = $('#nav-load'); } }); } else { loadLink.remove(); }; }; }); });</code></pre><pre><code> if ($(this).scrollTop() + $(this).height() + 50 &gt; loadLink.offset().top) {</code></pre><p>el número 50 es la distancia hasta la parte inferior de la noticia en la que comienza la descarga. Es decir, puede cargar un poco antes, hasta que el usuario se desplace hasta el final, cambiando esta cifra. Por ejemplo, 250 - news se cargarán antes.</p><p><br></p><p>También tenga en cuenta que se recomienda utilizar la descarga solo en el principal y en la categoría para evitar problemas. Normalmente hago esto en navigation.tpl</p>]]></content:encoded>
</item><item>
<title>Enlaces a las noticias siguientes y anteriores dentro en las noticias completa del CMS de DataLife Engine</title>
<link>https://tutorialesenlinea.es/3127-enlaces-a-las-noticias-siguientes-y-anteriores-dentro-en-las-noticias-completa-del-cms-de-datalife-engine.html</link>
<pdalink>https://tutorialesenlinea.es/3127-enlaces-a-las-noticias-siguientes-y-anteriores-dentro-en-las-noticias-completa-del-cms-de-datalife-engine.html</pdalink>
<guid>https://tutorialesenlinea.es/3127-enlaces-a-las-noticias-siguientes-y-anteriores-dentro-en-las-noticias-completa-del-cms-de-datalife-engine.html</guid>
<pubDate>Sun, 29 Dec 2019 13:17:50 +0100</pubDate>
<category>native-yes</category>

<enclosure url="https://tutorialesenlinea.es/uploads/posts/2019-12/thumbs/1577625901_enlaces-a-las-noticias-siguientes-y-anteriores-dentro-en-las-noticias-completa-del-cms-de-datalife-engine_tutoriales_en_linea.webp" type="image/webp" />
<content:encoded><![CDATA[<a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2019-12/1577625901_enlaces-a-las-noticias-siguientes-y-anteriores-dentro-en-las-noticias-completa-del-cms-de-datalife-engine_tutoriales_en_linea.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2019-12/thumbs/1577625901_enlaces-a-las-noticias-siguientes-y-anteriores-dentro-en-las-noticias-completa-del-cms-de-datalife-engine_tutoriales_en_linea.webp" alt="Enlaces a las noticias siguientes y anteriores dentro en las noticias completa del CMS de DataLife Engine" class="fr-dib"></a>En este tutorial mostraremos varios Hack para ver los enlaces a las noticias siguientes y anteriores dentro en las noticias completa del CMS de DataLife Engine.<br><br>Este truco le permite agregar enlaces a las noticias siguientes y anteriores al ver las noticias completas dentro del CMS de DataLife Engine. Era necesario poner algo así en su sitio, pero no puede encontrarlo en Internet, aproveché este truco que:<br><br><ul><li><div>Muestra enlaces a las noticias siguientes y anteriores en la misma categoría que las noticias vistas.</div></li><li><div>En ausencia de noticias, el enlace no se muestra.</div></li><li><div>Los enlaces se muestran en relación con la fecha de las noticias vistas.</div></li><li><div>Fácil instalación (1 minuto).</div></li><li><div>Edición mínima del código del motor.</div></li><li><div>Los enlaces se almacenan en caché, respectivamente, se reduce la carga en la base de datos.</div></li></ul><h2>Primera opción</h2><br>En la mayoría de los sitios dedicados al <b>motor DLE</b>, este truco se ha subido durante mucho tiempo, pero decidí reescribirlo cambiando el número de solicitudes e hice algunos cambios:<br><br><ul><li>Número de consultas 1 (en las dos anteriores - abajo)</li><li>Al instalar, no necesita hacer ningún cambio en el código del motor</li><li>Conéctese a las noticias completas a través del &#123;include file...}</li><li>la selección no es por fecha, sino por identificación (siguiente anterior a la identificación de las noticias vistas = id)</li></ul>Instalación:<br><br><ul><li>Este método lo he probado en este sitio (https://tutorialesenlinea.es/) y en los sitios que tengo y los cuales funciona con el CMS de DataLife Engine.</li><li>Descargar el archivo.</li><li>Abrir engine/modules/ y subirlo en dicha carpeta.</li><li>Luego abrir fullstory.tpl de tu plantilla o template. Y colocar:</li></ul><pre><code>&#123;include file="engine/modules/nextpreviewnews.php"}</code></pre><a class="btn btn-primary" href="https://acortador.tutorialesenlinea.es/HSxUrG" target="_blank" rel="noopener external nofollow">Descargar archivo</a><br><a class="btn btn-primary" href="https://acortador.tutorialesenlinea.es/TE4EQr" target="_blank" rel="noopener external nofollow">Descargar archivo con Font Awesome</a><a href="https://tutorialesenlinea.es/3098-como-agregar-un-icono-de-font-awesome-en-css.html">Como agregar un icono de Font Awesome en CSS</a><h2>Segunda opción</h2><br>En el motor de archivos buscar /modules/show.full.php y encuentre:<pre><code>if( $config['related_news'] AND $view_template != "print") {</code></pre>o<pre><code>if( $config['related_news'] ) {</code></pre>E insertar arriba:<pre><code>// Inicio: enlaces a noticias siguientes y anteriores $backnext_allow = 1; if( $backnext_allow ) { if( !$config['allow_cache'] ) { $config['allow_cache'] = 1; $revert_cache = true; } else $revert_cache = false; $back_link = dle_cache( "backlink", $row['id'] ); $next_link = dle_cache( "nextlink", $row['id'] ); // Noticias anteriores if( $back_link === FALSE ) { $backlink = $db-&gt;super_query( "SELECT id, title, category, alt_name FROM " . PREFIX . "_post WHERE id &lt; {$row['id']} AND category = '{$row['category']}' AND approve = '1' ORDER BY id DESC LIMIT 0,1" ); if( $backlink ) { $backlink['category'] = intval( $backlink['category'] ); if( strlen( $backlink['title'] ) &gt; 70 ) $backlink['title'] = substr( $backlink['title'], 0, 70 ) . "..."; if( $config['allow_alt_url'] ) { if( $backlink['category'] and $config['seo_type'] == 2 ) { $back_link = $config['http_home_url'] . get_url( $backlink['category'] ) . "/" . $backlink['id'] . "-" . $backlink['alt_name'] . ".html"; } else { $back_link = $config['http_home_url'] . $backlink['id'] . "-" . $backlink['alt_name'] . ".html"; } } else { $back_link = $config['http_home_url'] . "index.php?newsid=" . $backlink['id']; } } else { $back_link = ""; } if( $back_link ) { $back_link = "&lt;span&gt;Anterior &amp;raquo; &lt;b&gt;&lt;a href=\"" . $back_link . "\"&gt;" . stripslashes( $backlink['title'] ) . "&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;"; } $db-&gt;free(); create_cache( "backlink", $back_link, $row['id'] ); } // Próximas noticias if( $next_link === FALSE ) { $nextlink = $db-&gt;super_query( "SELECT id, title, category, alt_name FROM " . PREFIX . "_post WHERE id &gt; {$row['id']} AND category = '{$row['category']}' AND approve = '1' ORDER BY id ASC LIMIT 0,1" ); if ( $nextlink ) { $nextlink['category'] = intval( $nextlink['category'] ); if( strlen( $nextlink['title'] ) &gt; 70 ) $nextlink['title'] = substr( $nextlink['title'], 0, 70 ) . "..."; if( $config['allow_alt_url'] ) { if( $nextlink['category'] and $config['seo_type'] == 2 ) { $next_link = $config['http_home_url'] . get_url( $nextlink['category'] ) . "/" . $nextlink['id'] . "-" . $nextlink['alt_name'] . ".html"; } else { $next_link = $config['http_home_url'] . $nextlink['id'] . "-" . $nextlink['alt_name'] . ".html"; } } else { $next_link = $config['http_home_url'] . "index.php?newsid=" . $nextlink['id']; } } else { $next_link = ""; } if( $next_link ) { $next_link = "&lt;span style=\"float:right\"&gt;&amp;laquo; Далее &lt;b&gt;&lt;a href=\"" . $next_link . "\"&gt;" . stripslashes( $nextlink['title'] ) . "&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;"; } $db-&gt;free(); create_cache( "nextlink", $next_link, $row['id'] ); } // Enlaces $tpl-&gt;set( '{back-link}', $back_link ); $tpl-&gt;set( '{next-link}', $next_link ); if( $revert_cache ) $config['allow_cache'] = 0; } // Fin: enlaces a noticias siguientes y anteriores</code></pre>Encuentre el archivo fullstory.tpl en la carpeta de su plantilla dle, ábralo y después de la línea: {full-story} y pegar abajo<pre><code>{back-link}{next-link}</code></pre><h2>Tercera opción</h2><br>En el motor de archivos buscar /engine/inc/options.php y encuentre:<pre><code>showRow( $lang['opt_sys_wdq'], $lang['opt_sys_wdsd'], makeDropDown( array ("1" =&gt; $lang['opt_sys_yes'], "0" =&gt; $lang['opt_sys_no'] ), "save_con[allow_quick_wysiwyg]", "{$config['allow_quick_wysiwyg']}" ) );</code></pre>E inserte a continuación:<pre><code>showRow( 'Показывать предыдущую и следующую новость?', 'Показывать предыдущую и следующую новость?', makeDropDown( array ("1" =&gt; "Да", "0" =&gt; "Нет" ), "save_con[backnext_allow]", "{$config['backnext_allow']}" ) );</code></pre>En el motor de archivos buscar /modules/show.full.php y encuentre:<pre><code>if( $config['related_news'] AND $view_template != "print") {</code></pre>o<pre><code>if( $config['related_news'] ) {</code></pre>E insertar arriba:<pre><code>if( $config['backnext_allow'] == "1" ) { if( $config['allow_cache'] != "yes" ) { $config['allow_cache'] = "yes"; $revert_cache = true; } else $revert_cache = false; $back_link = dle_cache( "backlink", $row['id'] ); $next_link = dle_cache( "nextlink", $row['id'] ); if( $back_link === FALSE ) { // Back Link $backlink = $db-&gt;super_query( "SELECT id, date, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE date &lt; FROM_UNIXTIME({$row['date']}) AND category = '{$row['category']}' AND approve = '1' ORDER BY date DESC LIMIT 0,1" ); if( $backlink ) { $backlink['date'] = strtotime( $backlink['date'] ); $backlink['category'] = intval( $backlink['category'] ); if( strlen( $backlink['title'] ) &gt; 75 ) $backlink['title'] = substr( $backlink['title'], 0, 75 ) . " ..."; if( $config['allow_alt_url'] == "yes" ) { if( $backlink['flag'] and $config['seo_type'] ) { if( $backlink['category'] and $config['seo_type'] == 2 ) { $back_link = $config['http_home_url'] . get_url( $backlink['category'] ) . "/" . $backlink['id'] . "-" . $backlink['alt_name'] . ".html"; } else { $back_link = $config['http_home_url'] . $backlink['id'] . "-" . $backlink['alt_name'] . ".html"; } } else { $back_link = $config['http_home_url'] . date( 'Y/m/d/', $backlink['date'] ) . $backlink['alt_name'] . ".html"; } } else { $back_link = $config['http_home_url'] . "index.php?newsid=" . $backlink['id']; } } else { $back_link = ""; } if( $back_link ) { $back_link = "Предыдущая новость: &lt;a href=\"" . $back_link . "\"&gt;" . stripslashes( $backlink['title'] ) . "&lt;/a&gt;"; } $db-&gt;free(); create_cache( "backlink", $back_link, $row['id'] ); } if( $next_link === FALSE ) { // Next Link $nextlink = $db-&gt;super_query( "SELECT id, date, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE date &gt; FROM_UNIXTIME({$row['date']}) AND category = '{$row['category']}' AND approve = '1' ORDER BY date ASC LIMIT 0,1" ); if ( $nextlink ) { $nextlink['date'] = strtotime( $nextlink['date'] ); $nextlink['category'] = intval( $nextlink['category'] ); if( strlen( $nextlink['title'] ) &gt; 75 ) $nextlink['title'] = substr( $nextlink['title'], 0, 75 ) . " ..."; if( $config['allow_alt_url'] == "yes" ) { if( $nextlink['flag'] and $config['seo_type'] ) { if( $nextlink['category'] and $config['seo_type'] == 2 ) { $next_link = $config['http_home_url'] . get_url( $nextlink['category'] ) . "/" . $nextlink['id'] . "-" . $nextlink['alt_name'] . ".html"; } else { $next_link = $config['http_home_url'] . $nextlink['id'] . "-" . $nextlink['alt_name'] . ".html"; } } else { $next_link = $config['http_home_url'] . date( 'Y/m/d/', $nextlink['date'] ) . $nextlink['alt_name'] . ".html"; } } else { $next_link = $config['http_home_url'] . "index.php?newsid=" . $nextlink['id']; } } else { $next_link = ""; } if( $next_link ) { $next_link = "Следующая новость: &lt;a href=\"" . $next_link . "\"&gt;" . stripslashes( $nextlink['title'] ) . "&lt;/a&gt;"; } $db-&gt;free(); create_cache( "nextlink", $next_link, $row['id'] ); } if( $revert_cache ) $config['allow_cache'] = "no"; } else $back_link = $next_link = ''; // Back and Next Link Template $tpl-&gt;set( '{back-link}', $back_link ); $tpl-&gt;set( '{next-link}', $next_link );</code></pre>En la plantilla fullstory.tpl, en el lugar donde desea mostrar los enlaces, inserte:<pre><code>{back-link} - noticias anteriores {next-link} - noticias siguientes</code></pre>Las dos ultimas opciones no las he probado....]]></content:encoded>
</item><item>
<title>Atributos de paginación: link rel=next y rel=prev Para DataLife Engine</title>
<link>https://tutorialesenlinea.es/3126-atributos-de-paginacion-link-rel_next-y-rel_prev_para-datalife-engine.html</link>
<pdalink>https://tutorialesenlinea.es/3126-atributos-de-paginacion-link-rel_next-y-rel_prev_para-datalife-engine.html</pdalink>
<guid>https://tutorialesenlinea.es/3126-atributos-de-paginacion-link-rel_next-y-rel_prev_para-datalife-engine.html</guid>
<pubDate>Sun, 29 Dec 2019 12:14:19 +0100</pubDate>
<category>native-yes</category>

<enclosure url="https://tutorialesenlinea.es/uploads/posts/2019-12/thumbs/1577619900_atributos-de-paginacion-link-rel_next-y-rel_prev_para-datalife-engine_tutoriales_en_linea.webp" type="image/webp" />
<content:encoded><![CDATA[<a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2019-12/1577619900_atributos-de-paginacion-link-rel_next-y-rel_prev_para-datalife-engine_tutoriales_en_linea.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2019-12/thumbs/1577619900_atributos-de-paginacion-link-rel_next-y-rel_prev_para-datalife-engine_tutoriales_en_linea.webp" alt="Atributos de paginación: link rel='next' y rel='prev' Para DataLife Engine" class="fr-dib" itemprop="image" width="450" height="338"></a>La paginación es El proceso por el que se divide un documento en diferentes páginas, ya sean páginas electrónicas o impresas. según Wikipedia.<br><br>En el ámbito web, la paginación se utiliza, por ejemplo, para dividir páginas de productos, o páginas de categorías de blog. Es importante ayudar a motores de búsqueda a entender la relación entre series de páginas paginadas para prevenir la aparición de problemas de contenido duplicado debido a su similitud.<br><br><h2>¿De qué trata este Tutorial?</h2><br>En este tutorial vamos a investigar cómo implementar los atributos rel="next" y rel="prev", así como las mejores prácticas, los errores más comunes, y cómo utilizan la paginación los expertos en SEO.<br><br><h2>¿Qué son los atributos de paginación rel=next y rel=prev?</h2><br>Los atributos rel="next" y rel="prev" se utilizan para indicarle a los motores de búsqueda la relación entre las páginas de una secuencia.<br>A menudo, se denominan incorrectamente etiquetas de paginación rel="next" y rel="prev". Con el objetivo de simplificarlo, llamaremos a los atributos rel="next" y rel="prev" atributos de paginación.<br><br>Se ponen en la sección &lt;cabecera&gt; de las páginas html y se ven así:<pre class="language-markup"><code>&lt;link rel="prev" href="http://www.ejemplo.es/tutorial/pagina/2/" /&gt; &lt;link rel="next" href="http://www.ejemplo.es/tutorial/pagina/4/" /&gt;</code></pre><h2>¿Para qué son los atributos next y prev?</h2><br>Estos atributos rel="next" y rel="prev" ayudarán a indicar un enlace entre múltiples URL.<br><br>Gracias a este marcado, Google puede determinar que el contenido de estas páginas está conectado en una secuencia lógica y dirigir al usuario a la página de inicio.<br><br>Cree un índice de página consolidado para que los enlaces no se dispersen entre páginas individuales page-1.html, page-2.html, etc.<br>Al buscar, dirija al usuario a la página más relevante entre todas las demás, por ejemplo, al comienzo de un artículo dividido en varias páginas.<br> <h2>Como instalar las etiquetas rel Hack Next y Prev Link</h2><br>1. Descargue el archivo next_y_prev.php y subirlo a /engine/modules/<br>2. Abra main.tpl y después de la etiqueta {headers} insertar<pre class="language-markup"><code>&#123;include file="engine/modules/next_y_prev.php"}</code></pre><a class="btn btn-primary" href="https://acortador.tutorialesenlinea.es/1HRn" target="_blank" rel="noopener external nofollow">Descargar archivo</a><br><br><h2>Otra opción </h2><br>En cuanto a este hack, aquí puede crear un índice consolidado de páginas, ya que el enlace no se dispersará entre las páginas individuales page-1.html, page-2.html, etc. Cuando utilice la búsqueda, dirija al usuario a la página más relevante entre todas las demás, por ejemplo, al comienzo de un artículo dividido en varias páginas. Las metaetiquetas aparecerán en categorías, en la principal y en las últimas noticias.<br><br>Instalación del hack Seo dle: metaetiquetas siguiente y anterior para dle. Para hacer esto, solo necesitamos abrir/engine/engine.php y busque:<br><pre class="language-markup"><code>if ($canonical) {</code></pre>Se encuentra en la linea 1256 aproximadamente, o<br><pre class="language-markup"><code>if ($config['allow_rss']) $metatags .= &lt;&lt;&lt;HTML</code></pre>E inserte arriba:<pre class="language-markup"><code>if($dle_module == "main" || $dle_module == "cat" || $dle_module == "lastnews") { $cat_cat = !empty($category) ? strip_tags(stripslashes($category)) . '/' : ''; if(!$cat_cat &amp;&amp; $dle_module == "lastnews") $cat_cat = "lastnews/"; $all_pages_count = @ceil( $count_all / $config['news_number'] ); if($cstart &lt; 2 &amp;&amp; 1 != $all_pages_count) { $next_rel = '&lt;link rel="next" href="'. $config['http_home_url'] . $cat_cat . 'page/2' . '"&gt;'; $prev_rel = ''; } else if(1 != $all_pages_count) { if($cstart &gt;= $all_pages_count) $next_rel = ''; else $next_rel = '&lt;link rel="next" href="'. $config['http_home_url'] . $cat_cat . 'page/'. ($cstart + 1) .'"&gt;'; if($cstart == 2) $prev_rel = '&lt;link rel="prev" href="'. $config['http_home_url'] . $cat_cat . '"&gt;'; else $prev_rel = '&lt;link rel="prev" href="'. $config['http_home_url'] . $cat_cat . 'page/'. ($cstart - 1) .'"&gt;'; } } $metatags .=&lt;&lt;&lt;HTML {$prev_rel} {$next_rel} HTML;</code></pre>Esta opción no la recomiendo dado que es mejor el <b>primer Hack</b> descrito en el principio de este Tutoriales En Linea.]]></content:encoded>
</item><item>
<title>Error en Breadcrumb en RDFa de DataLife Engine</title>
<link>https://tutorialesenlinea.es/2341-error-en-breadcrumb-en-rdfa-de-datalife-engine.html</link>
<pdalink>https://tutorialesenlinea.es/2341-error-en-breadcrumb-en-rdfa-de-datalife-engine.html</pdalink>
<guid>https://tutorialesenlinea.es/2341-error-en-breadcrumb-en-rdfa-de-datalife-engine.html</guid>
<pubDate>Thu, 24 Jan 2019 09:34:52 +0100</pubDate>
<category>native-yes</category>

<enclosure url="https://tutorialesenlinea.es/uploads/posts/2019-01/thumbs/1548317934_error-en-breadcrumb-en-datalife-engine_tutoriales_en_linea.webp" type="image/webp" />
<content:encoded><![CDATA[<a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2019-01/1548317934_error-en-breadcrumb-en-datalife-engine_tutoriales_en_linea.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2019-01/thumbs/1548317934_error-en-breadcrumb-en-datalife-engine_tutoriales_en_linea.webp" alt="" class="fr-dib"></a>En este Tutoriales En Linea les mostraremos la manera de corregir el error de Breadcrumb de los datos estructurados en RDFa según Schema.org del <a href="https://tutorialesenlinea.es/diseno-web/datalife-engine/" target="_blank">sistema de gestión de contenido de DataLife Engine</a>.<br>RDFa es un conjunto de extensiones de XHTML propuestas por W3C para introducir semántica en los documentos...Como se sabe, en DLE, a partir de la versión 10.0, se agregaron a la barra de velocidad (speedbar) las llamadas migas de pan para el micromarking.<br><br>Todo funciona correctamente y el motor de búsqueda las lee normalmente, incluso el validador no muestra ningún error, pero hay un matiz.<br><br>Preste atención a la línea con el parámetro itemtype:<br><pre><code>&lt;span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"&gt;</code></pre>Actualizamos las migas de pan para DLE 10.2 - 11.x siguiendo el ejemplo de Google.<br>Para ello abriremos el archivo engine/engine.php<br>Buscar el siguiente código (Parte Inferior - 1274.):<br><br><pre><code>if ($config['speedbar'] AND !$view_template ) { $s_navigation = "&lt;span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"&gt;&lt;a href=\"{$config['http_home_url']}\" itemprop=\"url\"&gt;&lt;span itemprop=\"title\"&gt;" . $config['short_title'] . "&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;"; if( $config['start_site'] == 3 AND $_SERVER['QUERY_STRING'] == "" AND !$_POST['do']) $titl_e = ""; if (intval($category_id)) $s_navigation .= " {$config['speedbar_separator']} " . get_breadcrumbcategories ( intval($category_id), $config['speedbar_separator'] ); elseif ($do == 'tags') { if ($config['allow_alt_url']) $s_navigation .= " {$config['speedbar_separator']} &lt;span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"&gt;&lt;a href=\"" . $config['http_home_url'] . "tags/\" itemprop=\"url\"&gt;&lt;span itemprop=\"title\"&gt;" . $lang['tag_cloud'] . "&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; {$config['speedbar_separator']} " . $tag; else $s_navigation .= " {$config['speedbar_separator']} &lt;span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"&gt;&lt;a href=\"?do=tags\" itemprop=\"url\"&gt;&lt;span itemprop=\"title\"&gt;" . $lang['tag_cloud'] . "&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; {$config['speedbar_separator']} " . $tag; } elseif ($nam_e) $s_navigation .= " {$config['speedbar_separator']} " . $nam_e; if ($titl_e) $s_navigation .= " {$config['speedbar_separator']} " . $titl_e; else { if ( isset($_GET['cstart']) AND intval($_GET['cstart']) &gt; 1 ){ $page_extra = " {$config['speedbar_separator']} ".$lang['news_site']." ".intval($_GET['cstart']); } else $page_extra = ''; $s_navigation .= $page_extra; } $tpl-&gt;load_template ( 'speedbar.tpl' ); $tpl-&gt;set ( '{speedbar}', '&lt;span id="dle-speedbar"&gt;' . stripslashes ( $s_navigation ) . '&lt;/span&gt;' ); $tpl-&gt;compile ( 'speedbar' ); $tpl-&gt;clear (); }</code></pre>Reemplazar con:<br><pre><code>if ($config['speedbar'] AND !$view_template ) { $s_navigation = "&lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;a href=\"{$config['http_home_url']}\" property=\"item\" typeof=\"WebPage\"&gt;&lt;span property=\"name\"&gt;" . $config['short_title'] . "&lt;/span&gt;&lt;/a&gt;&lt;meta property=\"position\" content=\"1\"&gt;&lt;/li&gt;"; if( $config['start_site'] == 3 AND $_SERVER['QUERY_STRING'] == "" AND !$_POST['do']) $titl_e = ""; if (intval($category_id)) { $cat_breadcrumb = explode("|", get_breadcrumbcategories ( intval($category_id), $config['speedbar_separator'] )); $s_navigation .= " {$config['speedbar_separator']} " . $cat_breadcrumb[0]; } elseif ($do == 'tags') { if ($config['allow_alt_url']) $s_navigation .= " {$config['speedbar_separator']} &lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;a href=\"" . $config['http_home_url'] . "tags/\" property=\"item\" typeof=\"WebPage\"&gt;&lt;span property=\"name\"&gt;" . $lang['tag_cloud'] . "&lt;/span&gt;&lt;/a&gt;&lt;meta property=\"position\" content=\"2\"&gt;&lt;/li&gt; {$config['speedbar_separator']} &lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;span property=\"name\"&gt;" . $tag . "&lt;/span&gt;&lt;meta property=\"position\" content=\"3\"&gt;&lt;/li&gt;"; else $s_navigation .= " {$config['speedbar_separator']} &lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;a href=\"?do=tags\" property=\"item\" typeof=\"WebPage\"&gt;&lt;span property=\"name\"&gt;" . $lang['tag_cloud'] . "&lt;/span&gt;&lt;/a&gt;&lt;meta property=\"position\" content=\"2\"&gt;&lt;/li&gt; {$config['speedbar_separator']} &lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;span property=\"name\"&gt;" . $tag . "&lt;/span&gt;&lt;meta property=\"position\" content=\"3\"&gt;&lt;/li&gt;"; } elseif ($nam_e) { if($dle_module == "showfull") { $cat_breadcrumb[1] = $cat_breadcrumb[1] + 1; $s_navigation .= " {$config['speedbar_separator']} " . "&lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;span property=\"name\"&gt;{$nam_e}&lt;/span&gt;&lt;meta property=\"position\" content=\"{$cat_breadcrumb[1]}\"&gt;&lt;/li&gt;"; } else { $s_navigation .= " {$config['speedbar_separator']} " . "&lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;span property=\"name\"&gt;{$nam_e}&lt;/span&gt;&lt;meta property=\"position\" content=\"2\"&gt;&lt;/li&gt;"; } } if ($titl_e) { if(isset($cat_breadcrumb[1]) &amp;&amp; !is_null($cat_breadcrumb[1])) $cat_breadcrumb[1] = $cat_breadcrumb[1] + 1; else $cat_breadcrumb[1] = 3; $s_navigation .= " {$config['speedbar_separator']} &lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;span property=\"name\"&gt;{$titl_e}&lt;/span&gt;&lt;meta property=\"position\" content=\"{$cat_breadcrumb[1]}\"&gt;&lt;/li&gt;"; } else { if ( isset($_GET['cstart']) AND intval($_GET['cstart']) &gt; 1 ){ $cat_breadcrumb[1]++; $page_extra = " {$config['speedbar_separator']} &lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;span property=\"name\"&gt;".$lang['news_site']." ".intval($_GET['cstart']) . "&lt;/span&gt;&lt;meta property=\"position\" content=\"{$cat_breadcrumb[1]}\"&gt;&lt;/li&gt;"; } else $page_extra = ''; $s_navigation .= $page_extra; } $tpl-&gt;load_template ( 'speedbar.tpl' ); $tpl-&gt;set ( '{speedbar}', '&lt;ol vocab="http://schema.org/" typeof="BreadcrumbList"&gt;' . stripslashes ( $s_navigation ) . '&lt;/ol&gt;' ); $tpl-&gt;compile ( 'speedbar' ); $tpl-&gt;clear (); }</code></pre>Luego buscamos el archivo engine/modules/functions.php<br>Buscamos el siguiente codigo:<br><pre><code>function get_breadcrumbcategories($id, $separator="&amp;raquo;") { global $cat_info, $config, $PHP_SELF; if( ! $id ) return; $parent_id = $cat_info[$id]['parentid']; if( $config['allow_alt_url'] ) $list = "&lt;span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"&gt;&lt;a href=\"" . $config['http_home_url'] . get_url( $id ) . "/\" itemprop=\"url\"&gt;&lt;span itemprop=\"title\"&gt;{$cat_info[$id]['name']}&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;"; else $list = "&lt;span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"&gt;&lt;a href=\"$PHP_SELF?do=cat&amp;amp;category={$cat_info[$id]['alt_name']}\" itemprop=\"url\"&gt;&lt;span itemprop=\"title\"&gt;{$cat_info[$id]['name']}&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;"; while ( $parent_id ) { if( $config['allow_alt_url'] ) $list = "&lt;span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"&gt;&lt;a href=\"" . $config['http_home_url'] . get_url( $parent_id ) . "/\" itemprop=\"url\"&gt;&lt;span itemprop=\"title\"&gt;{$cat_info[$parent_id]['name']}&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;" . " {$separator} " . $list; else $list = "&lt;span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"&gt;&lt;a href=\"$PHP_SELF?do=cat&amp;amp;category={$cat_info[$parent_id]['alt_name']}\" itemprop=\"url\"&gt;&lt;span itemprop=\"title\"&gt;{$cat_info[$parent_id]['name']}&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;" . " {$separator} " . $list; $parent_id = $cat_info[$parent_id]['parentid']; if($parent_id) { if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break; } } return $list; }</code></pre>Reemplazamos con:<br><pre><code>function get_breadcrumbcategories($id, $separator="&amp;raquo;") { global $cat_info, $config, $PHP_SELF, $dle_module; if( ! $id ) return; $parent_id = $cat_info[$id]['parentid']; $first_id_p = $parent_id; $i = 1; while($parent_id) { $i++; $parent_id = $cat_info[$parent_id]['parentid']; if($parent_id) if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break; } $i += 1; $parent_id = $first_id_p; if($parent_id == 0) { $id_i = 2; if($dle_module == "cat") { if( $config['allow_alt_url'] ) $list = "&lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;span property=\"name\"&gt;{$cat_info[$id]['name']}&lt;/span&gt;&lt;meta property=\"position\" content=\"2\"&gt;&lt;/li&gt;"; else $list = "&lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;span itemprop=\"title\"&gt;{$cat_info[$id]['name']}&lt;/span&gt;&lt;meta property=\"position\" content=\"2\"&gt;&lt;/li&gt;"; } else { if( $config['allow_alt_url'] ) $list = "&lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;a href=\"" . $config['http_home_url'] . get_url( $id ) . "/\" property=\"item\" typeof=\"WebPage\"&gt;&lt;span property=\"name\"&gt;{$cat_info[$id]['name']}&lt;/span&gt;&lt;/a&gt;&lt;meta property=\"position\" content=\"2\"&gt;&lt;/li&gt;"; else $list = "&lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;a href=\"$PHP_SELF?do=cat&amp;amp;category={$cat_info[$id]['alt_name']}\" property=\"item\" typeof=\"WebPage\"&gt;&lt;span property=\"name\"&gt;{$cat_info[$id]['name']}&lt;/span&gt;&lt;/a&gt;&lt;meta property=\"position\" content=\"2\"&gt;&lt;/li&gt;"; } } else { $id_i = 3; if($dle_module == "cat") { if( $config['allow_alt_url'] ) $list = "&lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;span property=\"name\"&gt;{$cat_info[$id]['name']}&lt;/span&gt;&lt;meta property=\"position\" content=\"{$i}\"&gt;&lt;/li&gt;"; else $list = "&lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;span itemprop=\"title\"&gt;{$cat_info[$id]['name']}&lt;/span&gt;&lt;meta property=\"position\" content=\"{$i}\"&gt;&lt;/li&gt;"; } else { if( $config['allow_alt_url'] ) $list = "&lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;a href=\"" . $config['http_home_url'] . get_url( $id ) . "/\" property=\"item\" typeof=\"WebPage\"&gt;&lt;span property=\"name\"&gt;{$cat_info[$id]['name']}&lt;/span&gt;&lt;/a&gt;&lt;meta property=\"position\" content=\"3\"&gt;&lt;/li&gt;"; else $list = "&lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;a href=\"$PHP_SELF?do=cat&amp;amp;category={$cat_info[$id]['alt_name']}\" property=\"item\" typeof=\"WebPage\"&gt;&lt;span property=\"name\"&gt;{$cat_info[$id]['name']}&lt;/span&gt;&lt;/a&gt;&lt;meta property=\"position\" content=\"3\"&gt;&lt;/li&gt;"; } } while ( $parent_id ) { $i--; if($dle_module != "cat") { if( $config['allow_alt_url'] ) $list = "&lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;a href=\"" . $config['http_home_url'] . get_url( $parent_id ) . "/\" property=\"item\" typeof=\"WebPage\"&gt;&lt;span property=\"name\"&gt;{$cat_info[$parent_id]['name']}&lt;/span&gt;&lt;/a&gt;&lt;meta property=\"position\" content=\"{$i}\"&gt;&lt;/li&gt;" . " {$separator} " . $list; else $list = "&lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;a href=\"$PHP_SELF?do=cat&amp;amp;category={$cat_info[$parent_id]['alt_name']}\" property=\"item\" typeof=\"WebPage\"&gt;&lt;span property=\"name\"&gt;{$cat_info[$parent_id]['name']}&lt;/span&gt;&lt;/a&gt;&lt;meta property=\"position\" content=\"{$i}\"&gt;&lt;/li&gt;" . " {$separator} " . $list; } else { if($id != $cat_info[$parent_id]['id']) $list = "&lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;a property=\"item\" typeof=\"WebPage\" href=\"" . $config['http_home_url'] . get_url( $parent_id ) . "\"&gt;&lt;span property=\"name\"&gt;{$cat_info[$parent_id]['name']}&lt;/span&gt;&lt;/a&gt;&lt;meta property=\"position\" content=\"{$i}\"&gt;&lt;/li&gt;" . " {$separator} " . $list; else $list = "&lt;li property=\"itemListElement\" typeof=\"ListItem\"&gt;&lt;span property=\"name\"&gt;{$cat_info[$parent_id]['name']}&lt;/span&gt;&lt;meta property=\"position\" content=\"{$i}\"&gt;&lt;/li&gt;" . " {$separator} " . $list; } $parent_id = $cat_info[$parent_id]['parentid']; if($parent_id) { if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break; } } return $list . "|" . $id_i; }</code></pre><br>En los estilos puedes agregar:<br><br><pre><code>ol[typeof=BreadcrumbList] { display:inline-block; list-style:none!important; } ol[typeof=BreadcrumbList] &gt; li { display:inline-block; }</code></pre>]]></content:encoded>
</item><item>
<title>Error en Breadcrumb en DataLife Engine</title>
<link>https://tutorialesenlinea.es/2340-error-en-breadcrumb-en-datalife-engine.html</link>
<pdalink>https://tutorialesenlinea.es/2340-error-en-breadcrumb-en-datalife-engine.html</pdalink>
<guid>https://tutorialesenlinea.es/2340-error-en-breadcrumb-en-datalife-engine.html</guid>
<pubDate>Thu, 24 Jan 2019 09:13:48 +0100</pubDate>
<category>native-yes</category>

<enclosure url="https://tutorialesenlinea.es/uploads/posts/2019-01/thumbs/1548317934_error-en-breadcrumb-en-datalife-engine_tutoriales_en_linea.webp" type="image/webp" />
<content:encoded><![CDATA[<a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2019-01/1548317934_error-en-breadcrumb-en-datalife-engine_tutoriales_en_linea.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2019-01/thumbs/1548317934_error-en-breadcrumb-en-datalife-engine_tutoriales_en_linea.webp" alt="" class="fr-dib"></a>En este Tutoriales En Linea les mostraremos la manera de corregir el error de Breadcrumb de los datos estructurados de Schema.org del <a href="https://tutorialesenlinea.es/diseno-web/datalife-engine/" target="_blank">sistema de gestión de contenido de DataLife Engine</a>.<br><br>Como se sabe, en DLE, a partir de la versión 10.0, se agregaron a la barra de velocidad (speedbar) las llamadas migas de pan para el micromarking.<br><br>Todo funciona correctamente y el motor de búsqueda las lee normalmente, incluso el validador no muestra ningún error, pero hay un matiz.<br><br>Preste atención a la línea con el parámetro itemtype:<br><pre><code>&lt;span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"&gt;</code></pre>En la dirección dada <a href="https://acortador.tutorialesenlinea.es/haO3t" target="_blank" rel="noopener external nofollow">data-vocabulary.org/Breadcrumb</a> Google responde 404 o error. <a href="https://tutorialesenlinea.es/2323-datos-estructurados-y-las-oportunidades-de-seo.html" target="_blank">En la herramienta de prueba de datos estructurados</a>. Eso es un error.<br><br>No sé sobre ti, pero no me gusta. Por lo tanto, convertí la barra de velocidad en una vista compacta según el esquema:<br><pre><code><a href="https://acortador.tutorialesenlinea.es/9scxWx" target="_blank" rel="noopener external nofollow">schema.org/BreadcrumbList</a></code></pre>Para ello abriremos el archivo engine/engine.php<br>Buscar el siguiente código (Parte Inferior - 1274.):<br><pre><code>/* ===================================================== speedbar creation ===================================================== */ if ($config['speedbar'] AND !$view_template ) { ...... } ?&gt;</code></pre>Reemplazar con:<br><pre><code>if ($config['speedbar'] AND !$view_template ) { function get_breadcrumblistcategories($id,$sec = false){ global $speedbar,$cat_info,$config,$cstart,$dle_module; if(!$id) return; $parent_id = $cat_info[$id]['parentid']; if($parent_id) get_breadcrumblistcategories( $parent_id, true ); if($sec OR $cstart&gt;1 OR $dle_module!='cat') $speedbar[] = array( $config['http_home_url'] . get_url( $id ) . '/', $cat_info[$id]['name'], $cat_info[$id]['metatitle'] ); else $speedbar[] = $cat_info[$id]['name']; } $config['speedbar_separator'] = $config['speedbar_separator'] ? trim($config['speedbar_separator']) : "&amp;raquo"; $speedbar = array( array( $config['http_home_url'], $config['short_title'], $config['home_title'] ) ); if (intval($category_id)) get_breadcrumblistcategories( intval($category_id) ); elseif( $do == 'tags' ){ $speedbar[] = array( "/tags/", $lang['tag_cloud'] ); $speedbar[] = $tag; }elseif($nam_e) $speedbar[] = $nam_e; if($titl_e) $speedbar[] = $titl_e; elseif( isset($_GET['cstart']) AND intval($_GET['cstart']) &gt; 1 ) $speedbar[] = $lang['news_site']." ".intval($_GET['cstart']); foreach($speedbar as $k=&gt;$v){ $speedbar[$k] = '&lt;li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"&gt;'; $title_s = "&lt;span itemprop=\"name\"&gt;".(is_array($v) ? $v[1] : $v)."&lt;/span&gt;"; $speedbar[$k] .= is_array($v) ? "&lt;a itemprop=\"item\" href=\"{$v[0]}\" title=\"".($v[2] ?: $v[1])."\"&gt;{$title_s}&lt;/a&gt;" : $title_s; $speedbar[$k] .= "&lt;meta itemprop=\"position\" content=\"".( $k+1 )."\" /&gt;&lt;/li&gt;"; } $tpl-&gt;load_template ( 'speedbar.tpl' ); $tpl-&gt;set ( "{speedbar}", "&lt;ul itemscope itemtype=\"http://schema.org/BreadcrumbList\" class=\"speedbar\"&gt;".implode("&lt;li class=\"speedbar_sep\"&gt;{$config['speedbar_separator']}&lt;/li&gt;",$speedbar)."&lt;/ul&gt;" ); $tpl-&gt;compile ( 'speedbar' ); $tpl-&gt;clear(); $tpl-&gt;result['speedbar'] = '&lt;div id="dle-speedbar"&gt;'.$tpl-&gt;result['speedbar'].'&lt;/div&gt;'; } ?&gt;</code></pre>En los estilos puedes agregar:<br><pre><code>.speedbar{ margin: 0; padding: 10px; list-style: none; } .speedbar:after{ content: ""; display: block; clear: both; } .speedbar li{ float: left; margin-right: 6px; color: #222; } .speedbar li.speedbar_sep{ color: #999; }</code></pre>]]></content:encoded>
</item><item>
<title>Como agregar diferentes tamaños de imágenes en DataLife Engine</title>
<link>https://tutorialesenlinea.es/2339-como-agregar-diferentes-tamanos-de-imgenes-en-datalife-engine.html</link>
<pdalink>https://tutorialesenlinea.es/2339-como-agregar-diferentes-tamanos-de-imgenes-en-datalife-engine.html</pdalink>
<guid>https://tutorialesenlinea.es/2339-como-agregar-diferentes-tamanos-de-imgenes-en-datalife-engine.html</guid>
<pubDate>Wed, 23 Jan 2019 20:21:48 +0100</pubDate>
<category>native-yes</category>

<enclosure url="https://tutorialesenlinea.es/uploads/posts/2019-01/thumbs/1548271310_como-agregar-diferentes-tamanos-de-imgenes-en-datalife-engine_tutoriales_en_linea.webp" type="image/webp" />
<content:encoded><![CDATA[<a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2019-01/1548271310_como-agregar-diferentes-tamanos-de-imgenes-en-datalife-engine_tutoriales_en_linea.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2019-01/thumbs/1548271310_como-agregar-diferentes-tamanos-de-imgenes-en-datalife-engine_tutoriales_en_linea.webp" alt="" class="fr-dib"></a>En este Tutoriales En Linea les mostraremos la manera de agregar diferentes tamaños de imágenes en los artículos del sistema de <a href="https://tutorialesenlinea.es//datalife-engine/" target="_blank">gestión de contenido de DataLife Engine</a>.<br><br>Reorganice el DLE hackeado agregando diferentes tamaños de imagenes a sus artículos o noticias con la ayuda de las nuevas etiquetas {thumb-X}, {medium-X} y {image-X}.<br><br>Si usted es un usuario experimentado de DataLife Engine, entonces conoce la etiqueta {image-X}, que muestra un enlace a una imagen de las noticias. Al agregar las imágenes reducidas y promedio de las noticias a la ingenieria del DLE, será posible mostrar por analogía las copias reducidas de las imágenes, así como las imágenes promedio. <pre><code>{thumb-X} y {medium-X}</code></pre>Puedes trabajar en las etiquetas de las noticias cortas y en las noticias completas.<pre><code>&#123;custom} o {main}</code></pre><h2>Instrucción:</h2>- Abrir engine/modules/show.short.php<br>- buscar:<br><pre><code>if (stripos ( $tpl-&gt;copy_template, "{image-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'&gt;]+/i', $row['short_story'], $media); $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue; $info['extension'] = strtolower($info['extension']); if (($info['extension'] == 'webp') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'webp') || ($info['extension'] == 'webp')) array_push($images, $url); } } if ( count($images) ) { $i_count=0; foreach($images as $url) { $i_count++; $tpl-&gt;copy_template = str_replace( '{image-'.$i_count.'}', $url, $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[image-'.$i_count.']', "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[/image-'.$i_count.']', "", $tpl-&gt;copy_template ); } } $tpl-&gt;copy_template = preg_replace( "#\[image-(.+?)\](.+?)\[/image-(.+?)\]#is", "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = preg_replace( "#\\{image-(.+?)\\}#i", "&#123;THEME}/dleimages/no_image.webp", $tpl-&gt;copy_template ); }</code></pre>Reemplazar con:<br><pre><code>if (stripos ( $tpl-&gt;copy_template, "{thumb-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'&gt;]+/i', $row['short_story'], $media); $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue; $info['extension'] = strtolower($info['extension']); if (($info['extension'] == 'webp') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'webp') || ($info['extension'] == 'webp')) array_push($images, $url); } } if ( count($images) ) { $i_count=0; foreach($images as $url) { $i_count++; $url2 = explode("/", $url); if(in_array('medium', $url2)) { $url2[count($url2)-2] = "thumbs"; $url = implode("/", $url2); } else if(!in_array('thumbs', $url2)) { $url2[count($url2)-1] = "thumbs/" . $url2[count($url2)-1]; $url = implode("/", $url2); } $tpl-&gt;copy_template = str_replace( '{thumb-'.$i_count.'}', $url, $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[thumb-'.$i_count.']', "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[/thumb-'.$i_count.']', "", $tpl-&gt;copy_template ); } } $tpl-&gt;copy_template = preg_replace( "#\[thumb-(.+?)\](.+?)\[/thumb-(.+?)\]#is", "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = preg_replace( "#\\{thumb-(.+?)\\}#i", "&#123;THEME}/dleimages/no_image.webp", $tpl-&gt;copy_template ); } if (stripos ( $tpl-&gt;copy_template, "{medium-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'&gt;]+/i', $row['short_story'], $media); $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue; $info['extension'] = strtolower($info['extension']); if (($info['extension'] == 'webp') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'webp') || ($info['extension'] == 'webp')) array_push($images, $url); } } if ( count($images) ) { $i_count=0; foreach($images as $url) { $i_count++; $url2 = explode("/", $url); if(in_array('thumbs', $url2)) { $url2[count($url2)-2] = "medium"; $url = implode("/", $url2); } else if(!in_array('medium', $url2)) { $url2[count($url2)-1] = "medium/" . $url2[count($url2)-1]; $url = implode("/", $url2); } $tpl-&gt;copy_template = str_replace( '{medium-'.$i_count.'}', $url, $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[medium-'.$i_count.']', "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[/medium-'.$i_count.']', "", $tpl-&gt;copy_template ); } } $tpl-&gt;copy_template = preg_replace( "#\[medium-(.+?)\](.+?)\[/medium-(.+?)\]#is", "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = preg_replace( "#\\{medium-(.+?)\\}#i", "&#123;THEME}/dleimages/no_image.webp", $tpl-&gt;copy_template ); } if (stripos ( $tpl-&gt;copy_template, "{image-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'&gt;]+/i', $row['short_story'], $media); $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue; $info['extension'] = strtolower($info['extension']); if (($info['extension'] == 'webp') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'webp') || ($info['extension'] == 'webp')) array_push($images, $url); } } if ( count($images) ) { $i_count=0; foreach($images as $url) { $i_count++; $url2 = explode("/", $url); if(in_array('thumbs', $url2) OR in_array('medium', $url2)) { $url2[count($url2)-2] = ""; $url = implode("/", $url2); } $tpl-&gt;copy_template = str_replace( '{image-'.$i_count.'}', $url, $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[image-'.$i_count.']', "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[/image-'.$i_count.']', "", $tpl-&gt;copy_template ); } } $tpl-&gt;copy_template = preg_replace( "#\[image-(.+?)\](.+?)\[/image-(.+?)\]#is", "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = preg_replace( "#\\{image-(.+?)\\}#i", "&#123;THEME}/dleimages/no_image.webp", $tpl-&gt;copy_template ); }</code></pre>- Abrir engine/modules/show.full.php<br>- Buscar:<br><pre><code>if (stripos ( $tpl-&gt;copy_template, "{image-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'&gt;]+/i', $row['short_story'], $media); $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue; $info['extension'] = strtolower($info['extension']); if (($info['extension'] == 'webp') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'webp') || ($info['extension'] == 'webp')) array_push($images, $url); } } if ( count($images) ) { $i=0; foreach($images as $url) { $i++; $tpl-&gt;copy_template = str_replace( '{image-'.$i.'}', $url, $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[image-'.$i.']', "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[/image-'.$i.']', "", $tpl-&gt;copy_template ); } } $tpl-&gt;copy_template = preg_replace( "#\[image-(.+?)\](.+?)\[/image-(.+?)\]#is", "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = preg_replace( "#\\{image-(.+?)\\}#i", "&#123;THEME}/dleimages/no_image.webp", $tpl-&gt;copy_template ); } if (stripos ( $tpl-&gt;copy_template, "{fullimage-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'&gt;]+/i', $row['full_story'], $media); $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue; $info['extension'] = strtolower($info['extension']); if (($info['extension'] == 'webp') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'webp') || ($info['extension'] == 'webp')) array_push($images, $url); } } if ( count($images) ) { $i=0; foreach($images as $url) { $i++; $tpl-&gt;copy_template = str_replace( '{fullimage-'.$i.'}', $url, $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[fullimage-'.$i.']', "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[/fullimage-'.$i.']', "", $tpl-&gt;copy_template ); } } $tpl-&gt;copy_template = preg_replace( "#\[fullimage-(.+?)\](.+?)\[/fullimage-(.+?)\]#is", "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = preg_replace( "#\\{fullimage-(.+?)\\}#i", "&#123;THEME}/dleimages/no_image.webp", $tpl-&gt;copy_template ); }</code></pre>Reemplazar con:<br><pre><code>if (stripos ( $tpl-&gt;copy_template, "{thumb-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'&gt;]+/i', $row['short_story'], $media); $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue; $info['extension'] = strtolower($info['extension']); if (($info['extension'] == 'webp') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'webp') || ($info['extension'] == 'webp')) array_push($images, $url); } } if ( count($images) ) { $i=0; foreach($images as $url) { $i++; $url2 = explode("/", $url); if(in_array('medium', $url2)) { $url2[count($url2)-2] = "thumbs"; $url = implode("/", $url2); } else if(!in_array('thumbs', $url2)) { $url2[count($url2)-1] = "thumbs/" . $url2[count($url2)-1]; $url = implode("/", $url2); } $tpl-&gt;copy_template = str_replace( '{thumb-'.$i.'}', $url, $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[thumb-'.$i.']', "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[/thumb-'.$i.']', "", $tpl-&gt;copy_template ); } } $tpl-&gt;copy_template = preg_replace( "#\[thumb-(.+?)\](.+?)\[/thumb-(.+?)\]#is", "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = preg_replace( "#\\{thumb-(.+?)\\}#i", "&#123;THEME}/dleimages/no_image.webp", $tpl-&gt;copy_template ); } if (stripos ( $tpl-&gt;copy_template, "{medium-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'&gt;]+/i', $row['short_story'], $media); $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue; $info['extension'] = strtolower($info['extension']); if (($info['extension'] == 'webp') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'webp') || ($info['extension'] == 'webp')) array_push($images, $url); } } if ( count($images) ) { $i=0; foreach($images as $url) { $i++; $url2 = explode("/", $url); if(in_array('thumbs', $url2)) { $url2[count($url2)-2] = "medium"; $url = implode("/", $url2); } else if(!in_array('medium', $url2)) { $url2[count($url2)-1] = "medium/" . $url2[count($url2)-1]; $url = implode("/", $url2); } $tpl-&gt;copy_template = str_replace( '{medium-'.$i.'}', $url, $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[medium-'.$i.']', "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[/medium-'.$i.']', "", $tpl-&gt;copy_template ); } } $tpl-&gt;copy_template = preg_replace( "#\[medium-(.+?)\](.+?)\[/medium-(.+?)\]#is", "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = preg_replace( "#\\{medium-(.+?)\\}#i", "&#123;THEME}/dleimages/no_image.webp", $tpl-&gt;copy_template ); } if (stripos ( $tpl-&gt;copy_template, "{fullthumb-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'&gt;]+/i', $row['full_story'], $media); $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue; $info['extension'] = strtolower($info['extension']); if (($info['extension'] == 'webp') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'webp') || ($info['extension'] == 'webp')) array_push($images, $url); } } if ( count($images) ) { $i=0; foreach($images as $url) { $i++; $url2 = explode("/", $url); if(in_array('medium', $url2)) { $url2[count($url2)-2] = "thumbs"; $url = implode("/", $url2); } else if(!in_array('thumbs', $url2)) { $url2[count($url2)-1] = "thumbs/" . $url2[count($url2)-1]; $url = implode("/", $url2); } $tpl-&gt;copy_template = str_replace( '{fullthumb-'.$i.'}', $url, $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[fullthumb-'.$i.']', "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[/fullthumb-'.$i.']', "", $tpl-&gt;copy_template ); } } $tpl-&gt;copy_template = preg_replace( "#\[fullthumb-(.+?)\](.+?)\[/fullthumb-(.+?)\]#is", "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = preg_replace( "#\\{fullthumb-(.+?)\\}#i", "&#123;THEME}/dleimages/no_image.webp", $tpl-&gt;copy_template ); } if (stripos ( $tpl-&gt;copy_template, "{fullmedium-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'&gt;]+/i', $row['full_story'], $media); $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue; $info['extension'] = strtolower($info['extension']); if (($info['extension'] == 'webp') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'webp') || ($info['extension'] == 'webp')) array_push($images, $url); } } if ( count($images) ) { $i=0; foreach($images as $url) { $i++; $url2 = explode("/", $url); if(in_array('thumbs', $url2)) { $url2[count($url2)-2] = "medium"; $url = implode("/", $url2); } else if(!in_array('medium', $url2)) { $url2[count($url2)-1] = "medium/" . $url2[count($url2)-1]; $url = implode("/", $url2); } $tpl-&gt;copy_template = str_replace( '{fullmedium-'.$i.'}', $url, $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[fullmedium-'.$i.']', "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[/fullmedium-'.$i.']', "", $tpl-&gt;copy_template ); } } $tpl-&gt;copy_template = preg_replace( "#\[fullmedium-(.+?)\](.+?)\[/fullmedium-(.+?)\]#is", "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = preg_replace( "#\\{fullmedium-(.+?)\\}#i", "&#123;THEME}/dleimages/no_image.webp", $tpl-&gt;copy_template ); } if (stripos ( $tpl-&gt;copy_template, "{image-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'&gt;]+/i', $row['short_story'], $media); $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue; $info['extension'] = strtolower($info['extension']); if (($info['extension'] == 'webp') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'webp') || ($info['extension'] == 'webp')) array_push($images, $url); } } if ( count($images) ) { $i=0; foreach($images as $url) { $i++; $url2 = explode("/", $url); if(in_array('thumbs', $url2) OR in_array('medium', $url2)) { $url2[count($url2)-2] = ""; $url = implode("/", $url2); } $tpl-&gt;copy_template = str_replace( '{image-'.$i.'}', $url, $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[image-'.$i.']', "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[/image-'.$i.']', "", $tpl-&gt;copy_template ); } } $tpl-&gt;copy_template = preg_replace( "#\[image-(.+?)\](.+?)\[/image-(.+?)\]#is", "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = preg_replace( "#\\{image-(.+?)\\}#i", "&#123;THEME}/dleimages/no_image.webp", $tpl-&gt;copy_template ); } if (stripos ( $tpl-&gt;copy_template, "{fullimage-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'&gt;]+/i', $row['full_story'], $media); $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue; $info['extension'] = strtolower($info['extension']); if (($info['extension'] == 'webp') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'webp') || ($info['extension'] == 'webp')) array_push($images, $url); } } if ( count($images) ) { $i=0; foreach($images as $url) { $i++; $url2 = explode("/", $url); if(in_array('thumbs', $url2) OR in_array('medium', $url2)) { $url2[count($url2)-2] = ""; $url = implode("/", $url2); } $tpl-&gt;copy_template = str_replace( '{fullimage-'.$i.'}', $url, $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[fullimage-'.$i.']', "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[/fullimage-'.$i.']', "", $tpl-&gt;copy_template ); } } $tpl-&gt;copy_template = preg_replace( "#\[fullimage-(.+?)\](.+?)\[/fullimage-(.+?)\]#is", "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = preg_replace( "#\\{fullimage-(.+?)\\}#i", "&#123;THEME}/dleimages/no_image.webp", $tpl-&gt;copy_template ); }</code></pre>- Abrir engine/modules/show.custom.php<br>- Buscar:<br><pre><code>if (stripos ( $tpl-&gt;copy_template, "{image-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'&gt;]+/i', $row['short_story'], $media); $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue; $info['extension'] = strtolower($info['extension']); if (($info['extension'] == 'webp') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'webp') || ($info['extension'] == 'webp')) array_push($images, $url); } } if ( count($images) ) { $i_count=0; foreach($images as $url) { $i_count++; $tpl-&gt;copy_template = str_replace( '{image-'.$i_count.'}', $url, $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[image-'.$i_count.']', "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[/image-'.$i_count.']', "", $tpl-&gt;copy_template ); } } $tpl-&gt;copy_template = preg_replace( "#\[image-(.+?)\](.+?)\[/image-(.+?)\]#is", "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = preg_replace( "#\\{image-(.+?)\\}#i", "&#123;THEME}/dleimages/no_image.webp", $tpl-&gt;copy_template ); }</code></pre>Reemplazar con:<br><pre><code>if (stripos ( $tpl-&gt;copy_template, "{thumb-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'&gt;]+/i', $row['short_story'], $media); $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue; $info['extension'] = strtolower($info['extension']); if (($info['extension'] == 'webp') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'webp') || ($info['extension'] == 'webp')) array_push($images, $url); } } if ( count($images) ) { $i_count=0; foreach($images as $url) { $i_count++; $url2 = explode("/", $url); if(in_array('medium', $url2)) { $url2[count($url2)-2] = "thumbs"; $url = implode("/", $url2); } else if(!in_array('thumbs', $url2)) { $url2[count($url2)-1] = "thumbs/" . $url2[count($url2)-1]; $url = implode("/", $url2); } $tpl-&gt;copy_template = str_replace( '{thumb-'.$i_count.'}', $url, $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[thumb-'.$i_count.']', "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[/thumb-'.$i_count.']', "", $tpl-&gt;copy_template ); } } $tpl-&gt;copy_template = preg_replace( "#\[thumb-(.+?)\](.+?)\[/thumb-(.+?)\]#is", "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = preg_replace( "#\\{thumb-(.+?)\\}#i", "&#123;THEME}/dleimages/no_image.webp", $tpl-&gt;copy_template ); } if (stripos ( $tpl-&gt;copy_template, "{medium-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'&gt;]+/i', $row['short_story'], $media); $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue; $info['extension'] = strtolower($info['extension']); if (($info['extension'] == 'webp') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'webp') || ($info['extension'] == 'webp')) array_push($images, $url); } } if ( count($images) ) { $i_count=0; foreach($images as $url) { $i_count++; $url2 = explode("/", $url); if(in_array('thumbs', $url2)) { $url2[count($url2)-2] = "medium"; $url = implode("/", $url2); } else if(!in_array('medium', $url2)) { $url2[count($url2)-1] = "medium/" . $url2[count($url2)-1]; $url = implode("/", $url2); } $tpl-&gt;copy_template = str_replace( '{medium-'.$i_count.'}', $url, $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[medium-'.$i_count.']', "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[/medium-'.$i_count.']', "", $tpl-&gt;copy_template ); } } $tpl-&gt;copy_template = preg_replace( "#\[medium-(.+?)\](.+?)\[/medium-(.+?)\]#is", "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = preg_replace( "#\\{medium-(.+?)\\}#i", "&#123;THEME}/dleimages/no_image.webp", $tpl-&gt;copy_template ); } if (stripos ( $tpl-&gt;copy_template, "{image-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'&gt;]+/i', $row['short_story'], $media); $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue; $info['extension'] = strtolower($info['extension']); if (($info['extension'] == 'webp') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'webp') || ($info['extension'] == 'webp')) array_push($images, $url); } } if ( count($images) ) { $i_count=0; foreach($images as $url) { $i_count++; $url2 = explode("/", $url); if(in_array('thumbs', $url2) OR in_array('medium', $url2)) { $url2[count($url2)-2] = ""; $url = implode("/", $url2); } $tpl-&gt;copy_template = str_replace( '{image-'.$i_count.'}', $url, $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[image-'.$i_count.']', "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = str_replace( '[/image-'.$i_count.']', "", $tpl-&gt;copy_template ); } } $tpl-&gt;copy_template = preg_replace( "#\[image-(.+?)\](.+?)\[/image-(.+?)\]#is", "", $tpl-&gt;copy_template ); $tpl-&gt;copy_template = preg_replace( "#\\{image-(.+?)\\}#i", "&#123;THEME}/dleimages/no_image.webp", $tpl-&gt;copy_template ); }</code></pre>A veces, debe asegurarse de que en las noticias siempre se crean los archivos de una copia reducida y una copia mediana de la imagen. <br>Para esto necesita hacer los siguientes cambios:<br>- Abrir /engine/classes/thumb.class.php<br>- Buscar:<br><pre><code>if( $this-&gt;img['lebar'] &lt;= $size and $this-&gt;img['tinggi'] &lt;= $size ) { $this-&gt;img['lebar_thumb'] = $this-&gt;img['lebar']; $this-&gt;img['tinggi_thumb'] = $this-&gt;img['tinggi']; return 0; }</code></pre>Reemplazar con:<br><pre><code>if( $this-&gt;img['lebar'] &lt;= $size and $this-&gt;img['tinggi'] &lt;= $size ) { $size = $this-&gt;img['lebar']; }</code></pre>Este "DLE hacks" o "Hack para DLE" esta probado en las versiones: 13.1, 13.0, 12.1, 12.0, 11.3, 11.2, 11.1, 11.0, 10.6, 10.5, 10.4, 10.3, 10.2, 10.1, 10.0, 9.8]]></content:encoded>
</item><item>
<title>Amenazas De Seguridad Cibernética En El 2018</title>
<link>https://tutorialesenlinea.es/2002-amenazas-de-seguridad-ciberntica-en-el-2018.html</link>
<pdalink>https://tutorialesenlinea.es/2002-amenazas-de-seguridad-ciberntica-en-el-2018.html</pdalink>
<guid>https://tutorialesenlinea.es/2002-amenazas-de-seguridad-ciberntica-en-el-2018.html</guid>
<pubDate>Thu, 30 Aug 2018 20:35:56 +0200</pubDate>
<category>native-yes</category>

<enclosure url="https://tutorialesenlinea.es/uploads/posts/2018-08/thumbs/1535654131_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea-.webp" type="image/webp" />
<enclosure url="https://tutorialesenlinea.es/uploads/posts/2018-08/thumbs/1535652702_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea.webp" type="image/webp" />
<enclosure url="https://tutorialesenlinea.es/uploads/posts/2018-08/thumbs/1535652949_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea_.webp" type="image/webp" />
<enclosure url="https://tutorialesenlinea.es/uploads/posts/2018-08/thumbs/1535653158_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea_-.webp" type="image/webp" />
<enclosure url="https://tutorialesenlinea.es/uploads/posts/2018-08/thumbs/1535653414_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea-1.webp" type="image/webp" />
<enclosure url="https://tutorialesenlinea.es/uploads/posts/2018-08/thumbs/1535653882_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea-2.webp" type="image/webp" />
<content:encoded><![CDATA[<p><a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2018-08/1535654131_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea-.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2018-08/thumbs/1535654131_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea-.webp" alt="" class="fr-dib"></a>Los delincuentes cibernéticos siempre están desarrollando sus tácticas para robar y poner en peligro los datos. Para estar por delante de ellos, compilamos las mayores amenazas de seguridad cibernética en 2018, desde la detección de cifrado a los teléfonos inteligentes ya infectados, y proporcionamos consejos prácticos para que pueda mantenerse seguro en línea. Como dice el viejo refrán, ¡la prevención es mejor que la cura!</p><br><h2>Obteniendo su información comprometida en fugas masivas de datos</h2><br><p>No cabe duda, el mayor riesgo para los usuarios se produce sin que ellos tengan una opción o una aportación al respecto. Es, por supuesto, filtraciones de datos.</p><br><p>Más allá del truco de Equifax y el escándalo de Cambridge Analytica y sus implicaciones de gran alcance, parece que cada mes trae una nueva fuga de datos de una gran empresa.</p><br><p>Para ayudar a combatir esto, Firefox anunció que implementará Troy Hunt's <a href="https://acortador.tutorialesenlinea.es/Orx7Wv" target="_blank" rel="noopener external nofollow">Have I Been Pwned</a> tool en su navegador, permitiendo a los usuarios verificar si su dirección de correo electrónico fue comprometida. Es un gran comienzo, pero no es suficiente.</p><a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2018-08/1535652702_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2018-08/thumbs/1535652702_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea.webp" alt="" class="fr-dib"></a><p>Desafortunadamente, como usuario, no hay mucho que pueda hacer para que los grandes servicios sean pirateados. Sin embargo, puede protegerse lo mejor que pueda, lo que eliminará una gran cantidad de ángulos de ataque en sus datos y finanzas.</p><br><h2>Cómo protegerte a ti mismo:</h2><br>Para servicios no esenciales como boletines informativos, promociones y varios registros, use una o más direcciones de correo "quemador" que no se utilizan para sus cuentas importantes.<br><br><ul><li>Comprueba periódicamente si tu dirección de correo electrónico principal aparece en ¿Se me ha enviado o en el monitor de Firefox?</li><li>Asegure cada inicio de sesión con autenticación de dos factores.</li><li>Considere cuidadosamente <a href="https://acortador.tutorialesenlinea.es/4Bjbz" target="_blank" rel="noopener external nofollow">la cantidad de</a> información personal que regala en las redes sociales.</li></ul><br><h2>Envío de teléfonos inteligentes con malware y aplicaciones maliciosas</h2><br><p>El malware móvil es uno de los tipos de malware de más rápido crecimiento y esta tendencia ha continuado durante algunos años. Debido a que los teléfonos inteligentes se han convertido en reemplazos para computadoras de escritorio y computadoras portátiles para muchas personas, la información que recopilan y contienen es un objetivo muy atractivo para los ciberdelincuentes.</p><br><p>Ni que decir tiene que nunca debe descargar aplicaciones de fuentes desconocidas y apegarse a las tiendas de aplicaciones oficiales. Sin embargo, las aplicaciones maliciosas pueden omitir regularmente las medidas de seguridad en Google Play Store o App Store de Apple.</p><br><p>De hecho, Trend Micro <a href="https://acortador.tutorialesenlinea.es/Sa7o" target="_blank" rel="noopener external nofollow">descubrió</a> aplicaciones que prometían "seguridad para teléfonos inteligentes", por no mencionar una gran cantidad de aplicaciones maliciosas que decían limpiar el espacio de almacenamiento u optimizar el uso de la batería. Todos ellos cosecharon datos y ubicación del usuario, al tiempo que impulsaron la publicidad de múltiples maneras. Incluso la App Store, que generalmente tiene procesos de revisión estrictos, accidentalmente permitió que una aplicación de calendario secretamente criptomoneda mine en segundo plano.</p><br><h2>¿Qué tan malo es?</h2><br><p>En 2017, de alrededor de 3,5 millones de aplicaciones en Google Play Store, <a href="https://acortador.tutorialesenlinea.es/qW2gs1" target="_blank" rel="noopener external nofollow">700,000</a> de ellas se consideraron "problemáticas": eran clones de aplicaciones o estaban diseñadas para robar información, interceptar mensajes de texto y enviar enlaces de phishing a la lista de contactos del usuario.</p><br><p>Quizás 2018 es mejor. Bueno, eso es un gran tal vez. Incluso con Google Play Protect y otras medidas de otros fabricantes de teléfonos inteligentes o del sistema operativo, las cosas pasan desapercibidas.</p><a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2018-08/1535652949_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea_.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2018-08/thumbs/1535652949_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea_.webp" alt="" class="fr-dib"></a><p style="text-align:center;"><a href="https://acortador.tutorialesenlinea.es/BGY2i" target="_blank" rel="noopener external nofollow">Fuente</a></p><br><p>¡Algunos dispositivos en realidad incluyen malware, directamente desde la fábrica!</p><br><p>En 2017, los expertos en ciberseguridad de Checkpoint señalaron que más de 30 teléfonos inteligentes de alta gama se <a href="https://acortador.tutorialesenlinea.es/Je7lXy" target="_blank" rel="noopener external nofollow">infectaron</a> con malware en algún lugar de la cadena de suministro, incluso antes de llegar a los consumidores.</p><br><p>En 2018, el Dr. Web dio la <a href="https://acortador.tutorialesenlinea.es/nMr2X" target="_blank" rel="noopener external nofollow">alarma de</a> que se enviaban docenas de teléfonos Android de bajo costo con el poderoso troyano bancario llamado Triada.</p><br><h2>Cómo protegerte a ti mismo:</h2><br><ul><li>No se deje engañar por el atractivo de los teléfonos inteligentes económicos si no conoce la marca: investigue antes de comprar un dispositivo y asegúrese de que la marca tenga una comunidad establecida.</li><li>Actualice sus aplicaciones cada vez que reciba una notificación o déjelas actualizar automáticamente. Un parche de seguridad aplicado inmediatamente puede y lo protegerá de una gran cantidad de ataques maliciosos en su teléfono inteligente.</li><li>Tómese el tiempo para revisar los permisos de la aplicación cuando los instale y revise periódicamente esos permisos en caso de que se reinicien después de una actualización. ¿Una aplicación de escaneo de fotos realmente necesita permiso para acceder a su ubicación? No, no lo hace.</li><li>Al buscar e instalar una aplicación, tómese un minuto y lea algunos comentarios al respecto, verificando los puntajes altos y bajos. Si aún no cuenta con revisiones, promete una funcionalidad ampliamente necesaria, manténgase alejado de ella.</li><li>Intenta hacer una copia de seguridad de los datos de tu teléfono inteligente al menos dos veces al mes.</li></ul><br><h2>Ataques de ransomware contra servicios en la nube</h2><br><p>Ransomware es una de las mayores amenazas para usuarios domésticos y organizaciones. Los ataques que cifrarán datos y luego exigirán fuertes rescates son obviamente un esfuerzo rentable para los delincuentes.</p><br><p>Lo que es realmente malo es que, por lo general, un ataque de ransomware se puede minimizar si alguien tiene una copia de seguridad de sus datos. Esa información generalmente está en la nube y la nube puede ser golpeada por ransomware.</p><br><p>Petya en sí, una de las cepas más virulentas, se propagó a través de un archivo infectado en Dropbox, una de las soluciones de respaldo más populares. Claramente, el ransomware <a href="https://acortador.tutorialesenlinea.es/TYJan0" target="_blank" rel="noopener external nofollow">en la nube</a> es un problema importante para todos.</p><br><p>Según <a href="https://acortador.tutorialesenlinea.es/bj3iht" target="_blank" rel="noopener external nofollow">MIT</a>, esta es una de las seis mayores amenazas cibernéticas. Al igual que en el caso de las infracciones de datos, no puede evitar que su proveedor de la nube se infecte, pero puede tomar medidas para protegerse del ransomware.</p><h2><a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2018-08/1535653158_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea_-.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2018-08/thumbs/1535653158_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea_-.webp" alt="" class="fr-dib"></a>Cómo protegerte a ti mismo:</h2><br><ul><li>Mantenga respaldados sus valiosos datos, tanto localmente como en la nube, preferiblemente en múltiples ubicaciones.</li><li>No confíe solo en Antivirus, ya que este software reaccionario no puede manejar las cepas más nuevas. Utilice una herramienta proactiva <a href="https://acortador.tutorialesenlinea.es/we1n" target="_blank" rel="noopener external nofollow">capaz de bloquear</a> infecciones en su origen y detener enlaces peligrosos.</li></ul><br><h2>Cryptojacking que afecta a su hardware</h2><br><p>Como explicamos en nuestra guía de protección contra el <a href="https://tutorialesenlinea.es/1521-que-es-cryptojacking.html" target="_blank">criptockeo</a>, este tipo de ataque implica secuestrar el hardware de su computadora para extraer criptomonedas para los delincuentes.</p><br><p>Una de las formas más populares de hacer esto fue apuntar a un sitio web vulnerable e inyectar un guión (Coinhive ha sido el más popular). Luego, los visitantes desprotegidos en ese sitio web tenían sus computadoras esclavizadas para extraer criptomonedas.</p><br><p><a href="https://tutorialesenlinea.es/1521-que-es-cryptojacking.html" target="_blank">Cryptojacking </a>ha sido uno de los ataques más populares de este año, casi superando ransomware, y está en constante evolución.</p><br><h2>Cómo protegerte a ti mismo:</h2><br><ul><li>Utilice un antivirus de buena reputación y, junto con él, una solución antimalware que escanea constantemente el tráfico y bloquea los dominios infectados.</li><li>En cualquier navegador, use un Adblocker que tenga capacidad para detener los scripts de minería de datos cifrados. Un ejemplo es uBlock Origin pero también puede usar la popular extensión NoScript</li><li>Siempre actualice su software, especialmente su navegador, ya que algunos cryptojacking apuntan directamente al navegador</li></ul><br><h2>Pérdidas financieras y compromiso de datos debido al comercio de criptomonedas</h2><br><p>El final de 2017 marcó una locura en el mundo de la criptomoneda, con el valor de Bitcoin llegando a $20K. Al mismo tiempo, los ciberdelincuentes también tenían un incentivo aún mayor para ser creativos con sus ataques.</p><br><p>Más allá de cryptojacking, que generalmente afecta a aquellos que no están invertidos en criptomonedas, aquellos que poseían cualquier tipo de monedas virtuales eran los principales candidatos para perder su dinero.</p><br><p>En junio, el sexto mayor mercado de cifrado en el mundo, Bithumb, fue pirateado y se perdieron alrededor de $ 30 millones. Afortunadamente, aquellos usuarios que mantuvieron sus monedas allí fueron reembolsados, pero otros no tuvieron tanta suerte.</p><br><p>En febrero, otro intercambio criptográfico (BitGrail) fue pirateado. Los atacantes despegaron con un valor de $ 195 millones de criptomonedas Nano pertenecientes a usuarios. Ese incidente estalló en un escándalo después de que la compañía inicialmente se negó a reembolsar a los usuarios. Y eso solo son los ataques a los intercambios mismos.</p><a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2018-08/1535653414_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea-1.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2018-08/thumbs/1535653414_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea-1.webp" alt="" class="fr-dib"></a><p>Los titulares de criptomonedas de todo el mundo son blanco constante de ataques en constante evolución dirigidos a sus billeteras virtuales.</p><br><p>Un comerciante de criptomonedas y personalidad de YouTube, Ian Balina, fue atacado en un hack y perdió casi $ 2 millones de dólares. Otro, Peter Saddington, dijo a la prensa que alguien usó ingeniería social en el servicio al cliente de Verizon y luego lo atacó. Perdió una "cantidad significativa" de dinero y una gran cantidad de datos valiosos.</p><br><p>"Cambió fundamentalmente mi vida. Lo perdí todo. Perdí 13 años de correos electrónicos ", <a href="https://acortador.tutorialesenlinea.es/xcwXHE" target="_blank" rel="noopener external nofollow">dijo</a> .</p><br><p>En enero, un delincuente se <a href="https://acortador.tutorialesenlinea.es/grot" target="_blank" rel="noopener external nofollow">robó</a> $ 150.000 al engañar a los aspirantes a inversionistas en una venta de ICO para que enviaran sus pagos a una dirección de billetera fraudulenta utilizando un phishing bueno y pasado de moda. Wired hizo una excelente <a href="https://acortador.tutorialesenlinea.es/k9Dp1w" target="_blank" rel="noopener external nofollow">reseña</a> sobre por qué es tan fácil hackear una recaudación de fondos de criptomonedas.</p><br><p>Incluso la popular extensión de Hola VPN Chrome <a href="https://acortador.tutorialesenlinea.es/GaeC" target="_blank" rel="noopener external nofollow">fue pirateada</a> y reemplazada por una comprometida diseñada para robar criptomonedas.</p><br><h2>Cómo protegerte a ti mismo:</h2><br><ul><li><p>Si bien es imposible controlar todos los resultados, especialmente una violación de datos, hay algunos pasos que puede seguir:</p></li><li>Si invierte en criptomonedas, no le cuente a los demás sobre esto. Específicamente, no publiques en las redes sociales al respecto.</li><li>Mantenga sus fondos en varias carteras</li><li>Asegure todos sus inicios de sesión con la autenticación de dos factores</li><li>Manténgase al tanto de las noticias para mantenerse al día con los últimos <a href="https://tutorialesenlinea.es/1988-como-reconocer-estafas.html" target="_blank">tipos de estafas</a>. Una dosis de paranoia cuando está involucrado en crypto es una de las cosas más saludables que puede hacer.</li></ul><br><h2>Estafas con tácticas avanzadas de ingeniería social</h2><br><p>Intentamos mantenernos al día con las estafas en línea más populares o creativas y las recopilamos en nuestras guías de prevención para que pueda mantenerse a salvo. Fossbytes escribió un muy buen <a href="https://acortador.tutorialesenlinea.es/bcIEqC" target="_blank" rel="noopener external nofollow">resumen</a> de los tipos de técnicas de ingeniería social que pueden comprometer su información, desde el <a href="https://tutorialesenlinea.es/1188-como_prevenir-y-reportar-los-ataques-de-phishing.html" target="_blank">phishing </a>hasta el cebo y el "quid pro quo", donde los delincuentes se hacen <a href="https://acortador.tutorialesenlinea.es/bcIEqC" target="_blank" rel="noopener external nofollow">pasar</a> por empleados de soporte.</p><br><p>Sin embargo, con el aumento de la inteligencia artificial y el aprendizaje automático, esos delincuentes pueden automatizar eficientemente sus ataques para maximizar su alcance.</p><br><p>"Los modelos de aprendizaje automático ahora pueden unir a los humanos en el arte de elaborar mensajes falsos convincentes, y pueden agotarlos sin cansarse", <a href="https://acortador.tutorialesenlinea.es/P6z9" target="_blank" rel="noopener external nofollow">advierte</a> MIT Technology Review.</p><br><h2>Cómo protegerte a ti mismo:</h2><br><ul><li>Aprende cómo detectar un enlace de <a href="https://tutorialesenlinea.es/1988-como-reconocer-estafas.html" target="_blank">phishing </a>y comprender cómo funcionan otras técnicas como <a href="https://tutorialesenlinea.es/1991-vishing.html" target="_blank">vishing </a>o spear phishing</li><li>Instale un escáner de tráfico en su PC que pueda bloquear enlaces maliciosos e intente conectarse a dominios infectados</li><li>Evite publicar demasiada información personal en las redes sociales</li></ul><br><h2>Dispositivos de IoT como bloqueos inteligentes o asistentes inteligentes que están siendo pirateados</h2><br><p>En mayo, un NYTimes <a href="https://acortador.tutorialesenlinea.es/9Z4Xg" target="_blank" rel="noopener external nofollow">pieza</a> articulada perfectamente defensores de la privacidad <a href="https://acortador.tutorialesenlinea.es/IklhPY" target="_blank" rel="noopener external nofollow">preocupaciones más grandes</a> y una de las mayores amenazas de seguridad cibernética, citando a un grupo de investigadores de Berkeley que lograron atacar Alexa.</p><br><p>"Dentro de los laboratorios universitarios, los investigadores han podido activar secretamente los sistemas de inteligencia artificial en teléfonos inteligentes y altavoces inteligentes, haciendo que marquen números telefónicos o abran sitios web. En las manos equivocadas, la tecnología podría usarse para desbloquear puertas, transferir dinero o comprar cosas en línea, simplemente con la música que se reproduce en la radio.</p><br><p>Un grupo de estudiantes de la Universidad de California, Berkeley y la Universidad de Georgetown mostraron en 2016 que podían ocultar comandos en ruido blanco reproducidos por altavoces y videos de YouTube para que los dispositivos inteligentes activaran el modo avión o abrieran un sitio web.</p><br><p>Este mes, algunos de los investigadores de Berkeley publicaron un trabajo de investigación que fue más allá, diciendo que podían insertar comandos directamente en grabaciones de música o texto hablado. Entonces, mientras un oyente escucha a alguien hablando o tocando una orquesta, el hablante de Echo de Amazon podría escuchar una instrucción para agregar algo a su lista de compras ".</p><a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2018-08/1535653882_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea-2.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2018-08/thumbs/1535653882_amenazas-de-seguridad-ciberntica-en-el-2018_tutoriales_en_linea-2.webp" alt="" class="fr-dib"></a><p>Mientras que el reportero y los investigadores subrayaron que, en la medida de su conocimiento, afortunadamente, no se han visto ataques de este tipo en la naturaleza.</p><br><p>Al explotar la función de "volver a solicitar" que hace que Alexa aclare un pedido, <a href="https://acortador.tutorialesenlinea.es/gK4rQd" target="_blank" rel="noopener external nofollow">Checkmarx</a> engañó a Amazon Echo para que grabara todo lo que se dijo, incluso si no se utilizó la palabra de activación. Fue solo el titular de este año, ya que en 2017 un investigador de seguridad, Mark Barnes, mostró cómo instalar malware en un <a href="https://acortador.tutorialesenlinea.es/fHibTx" target="_blank" rel="noopener external nofollow">Amazon Echo</a> .</p><br><p>Por supuesto, Amazon es una gran compañía, por lo que invierte mucho en proteger sus dispositivos y su reputación. Sin embargo, no existe el software descartable, por lo que debe tener precaución.</p><br><h2>Cómo protegerte a ti mismo:</h2><br><ul><li>Considere si necesita tener un dispositivo como un asistente de voz conectado a cada dispositivo inteligente que tenga. "Conveniencia versus privacidad y seguridad" es un debate que todos deberían tener consigo mismos antes de comprar dispositivos y software.</li><li>Si posee un dispositivo como este, asegúrese de conectarlo a un WiFi seguro.</li><li>Tenga cuidado al permitir que los dispositivos inteligentes tengan acceso a su tarjeta de crédito. El año pasado, un propietario de Amazon Echo se <a href="https://acortador.tutorialesenlinea.es/j5I5TF" target="_blank" rel="noopener external nofollow">despertó</a> y descubrió que Alexa había comprado muchas casas de muñecas.</li><li>Haga un inventario de quién visita su casa y qué tipo de acceso tienen sus amigos y familiares a su asistente de voz</li></ul><br><p>Aunque no todos son nuevos y la mayoría se basan en tácticas ya vistas, estas son las mayores amenazas de seguridad cibernética para los usuarios en 2018. Si tiene una más para agregar a la lista (¡o incluso un gran consejo de seguridad!), Háganos saber a continuación . Nos encantaría su opinión!</p>]]></content:encoded>
</item><item>
<title>Como mostrar páginas estáticas en la pagina principal de DataLife Engine</title>
<link>https://tutorialesenlinea.es/1463-como-mostrar-paginas-estaticas-en-la-pagina-principal-de-datalife-engine.html</link>
<pdalink>https://tutorialesenlinea.es/1463-como-mostrar-paginas-estaticas-en-la-pagina-principal-de-datalife-engine.html</pdalink>
<guid>https://tutorialesenlinea.es/1463-como-mostrar-paginas-estaticas-en-la-pagina-principal-de-datalife-engine.html</guid>
<pubDate>Sat, 17 Feb 2018 20:43:07 +0100</pubDate>
<category>native-yes</category>

<enclosure url="https://tutorialesenlinea.es/uploads/posts/2018-02/thumbs/1518897617_diseno-pagina-web-tutoriales-en-linea.webp" type="image/webp" />
<content:encoded><![CDATA[<div><p style="text-align:center;"><a class="highslide" href="https://tutorialesenlinea.es/uploads/posts/2018-02/1518897617_diseno-pagina-web-tutoriales-en-linea.webp" target="_blank"><img src="https://tutorialesenlinea.es/uploads/posts/2018-02/thumbs/1518897617_diseno-pagina-web-tutoriales-en-linea.webp" alt="" class="fr-dib"></a></p></div><div>En Tutoriales En Línea les mostraremos la manera de mostrar una página estática en la página principal de DataLife Engine - DLE, Sistema de contenidos con este Hack le permite mostrar el título y el texto de cualquier página estática en el main.tpl.</div><br><h2>Instalación:</h2><div>1. Subir los archivos en su servidor.</div><div>2. En el archivo de plantilla main.tpl, agregue:</div><div><br></div><div><pre><code>&#123;include file="/engine/modules/showstatic.php?stname=TutorialesEnLinea&amp;temp=stinfo"}</code></pre></div><div><br></div><div>Dónde está el nombre de la página estática que en este caso es TutorialesEnLinea reemplazar por tu página estática o la página que desee mostrar en el main.tpl <span> y stinfo es el nombre del archivo de la plantilla.</span></div><div>3. Edite el archivo stinfo.tpl a su discreción.</div><div>4. Si está utilizando múltiples bloques, cree un nuevo archivo de plantilla y reemplace en la línea de salida de otro bloque stinfo con el nombre de su archivo de plantilla.</div><div><a href="https://acortador.tutorialesenlinea.es/478cD" target="_blank" rel="noopener external nofollow">Descargar</a></div>]]></content:encoded>
</item></channel></rss>