Blog

Sistemas

Herramientas para analizar la cabecera de un correo electrónico.

El viernes, estuvimos haciendo un informe de spoofing para un cliente. En la elaboración de dicho informe, hay que leer las cabeceras de los correos electrónicos (las cabeceras contienen los historiales de transmisión, remitentes, destinatarios, servidores de origen y destino etc…). Estas cabeceras se pueden visualizar en modo texto. Normalmente lo hacemos los técnicos y sabemos lo que buscar. Pero es visualmente poco agradable. Así que los distintos proveedores han sacado herramientas online para poder ver estas cabeceras de modo más amigable, y así extraer la información más rápidamente. También es útil cuando queremos mostrárselo a un cliente. Os dejamos algunas de estas herramientas. Microsoft: el analizador de cabeceras de Microsoft lo puedes encontrar en https://mha.azurewebsites.net/ Google: también tiene su analizador de cabeceras, que puedes encontrar en: https://toolbox.googleapps.com/apps/messageheader/ MXToolbox: un estupenda página online con múltiples recursos para administradores de sistemas. También tiene su analizador de cabeceras: https://mxtoolbox.com/EmailHeaders.aspx Tienes muchos otros recursos online, que puedes “Googlear”, como https://mailheader.org/ . Pero hemos preferido compartir los más fiables.

Diversión, Internet, Juegos

Mejores juegos FPS gratuitos para Windows, Linux y Mac.

Ahora que tengo niños (5 y 1), vuelvo a retomar (encantado) el tema de los juegos de ordenador que dejé hace siglos por falta de tiempo. Como muchos he creado una cuenta de Steam, de Epic Store y alguna más y nos descargamos los juegos gratuitos y compramos los que modestamente podemos. Pero hace unos días quería introducir al mayor al tema del juego en red local (sin sangre por la edad), y jugar a un FPS (First Person Shooter). Yo soy de la época del Wolfstein3D, el Doom o el Unreal (y muchos más). Indagando me ha sorprendido gratamente que existe una gran cantidad de juegos Open Source o gratuitos en sus diferentes formas para descargar. Y muy interesantes porque admiten jugar en modo un jugador, colaborativo en red local y online. Os dejamos algunos aquí (en ningún orden específico) por si también hay alguien interesado. Xonotic. Una gran sorpresa para bien. Un gran juego, rápido, sin mucha sangre, que permite jugar en local, en modo un jugador desde unos escenarios de prueba y en modo online. Como es bastante conocido, en online hay servidores activos y jugadores disponibles para “echar partidas”. Tiene varios escenarios, múltiples armas, y modos de juegos (Deathmatch (FFA), Capture The Flag, Clan Arena, Nexball, Freeze Tag, Multiplayer Race…). Una gran opción disponible para Linux, Windows y Mac. Cube 2: Sauerbraten Otro FPS gratuito disponible para Windows, Mac y Linux que permite jugar en modo de un jugador o modo cooperativo. Este juego además, permite al usuario cambiar los mapas desde el juego, lo que da muchas opciones de diversión en entornos diferentes. Puede parecer algo más antiguo visualmente, puede que cueste encontrar jugadores online al llevar tiempo, pero el juego es muy divertido. Alien Arena. Si prefieres matar aliens en vez de a otros jugadores, este genial juego con buenos gráficos y aspecto retro es el tuyo. Está disponible para descarga en Windows y Linux de manera gratuita y, curiosamente, de pago (poco) en Steam. Como el resto, permite modo un jugador (enfréntate a un mundo repleto de aliens) , en modo cooperativo en tu red local, o online. Red Eclipse. Definen este juego como FPS en modo “parkour”. Porque permite realizar acrobacias, lo que lo hace “diferente” y más dinámico. Puede que los gráficos sean algo peores, pero lo suple con su agilidad, y sus muchísimas opciones para diseñar mapas y sus modos de juego. Disponible para Windows, Mac y Linux. Unvanquished. Otro de aliens, para Windows, Mac y Linux. En Unvanquished puedes elegir cualquiera de los dos bandos (humanos o insectos aliens), y combatir contra el otro. Los insectos, además puedes subir por las paredes y el techo, lo que crea un modo de juego diferente.Todo el ambiente con los insectos crea una atmósfera siniestra diferente al resto de juegos. No puedes jugar en modo de un jugador, pero si en red local y en modo online. El juego además recibe, todavía, actualizaciones frecuentes (casi cada mes). Warsow. Juego desde el 2005, por lo tanto ahora no tiene mucha actividad online. Pero es un juego muy aprecidado, rápido y jugable. Los gráficos quizás algo viejos ahora. Para Windows, Mac y Linux. Nexuiz. También un clásico que lleva 6 años sin actualizarse. Pero que merece mención. Smokin Guns Si te gusta el oeste y quieres probar un FPS en ese entorno, puedes probar Smoking Guns. De nuevo los gráficos no son los más modernos, pero el cambio de ambiente puede agradecerse. Urban Terror. Nos dejamos otro de los buenos para el final. Urban Terror es un FPS táctico (tactical shooter). Es decir no consiste en ir a lo loco matando a todos, sino que la vertiente táctica es una gran parte del mismo. Además, hacen hincapié en “entornos realistas” y tiene mapas de ciudades o situaciones reales.

Diseño Web, Gestores de contenidos, Internet, Trucos

Comandos útiles para Magento 2

Llevamos un tiempo manejando Magento 2, y muchas de las acciones hay que hacerlas por línea de comandos. Así que, para referencia nuestra, y por si os viene bien a alguno, os dejamos un resumen de los comandos más útiles y usados. Comandos más útiles en Magento 2. Os dejamos los más usados (e iremos ampliando): php bin/magento setup:upgrade : actualiza la configuraciónSi quieres conserva los ficheros estáticos puedes ejecutar: php bin/magento setup:upgrade –keep-generated php bin/magento setup:di:compile : ejecuta el compilador php bin/magento setup:static-content:deploy : deploy para el lenguaje por defecto (en_US).Si quieres forzarlo puedes poner: php bin/magento setup:static-content:deploy -fPuedes hacerlo para un tema concreto: php bin/magento setup:static-content:deploy –theme Magento/tema php bin/magento setup:static-content:deploy es_ES : deploy para un idioma específico (puedes cambiar el idioma del final). php bin/magento cache:clean : borra (purga) la cache por etiquetas.Puedes especificar el tipo de caché a vaciar poniendo php bin/magento cache:clean [type] …[type]Los tipos se separan con espacios y son los siguientes: Tipos: config, layout, block_html, collections, reflection, db_ddl, compiled_config, eav, customer_notification, config_integration, config_integration_api, full_page, config_webservice, translate php bin/magento cache:flush : borra la caché completamente.Puedes especificar el tipo de caché a vaciar poniendo php bin/magento cache:flush [type] …[type]Los tipos se separan con espacios y son los mismos que en cache:clean (encima) php bin/magento cache:enable : habilita la caché.También admite los type como en las dos opciones anteriores. php bin/magento cache:disable : deshabilita la caché.También admite los type como en las opciones anteriores. NOTA: Es muy normal que se ejecuten los siguientes comandos juntos tras un cambio en la configuración: php bin/magento setup:upgradephp bin/magento setup:di:compilephp bin/magento setup:static-content:deployphp bin/magento cache:cleanphp bin/magento cache:flush php bin/magento indexer:status : ver el estado de los índices de búsqueda. php bin/magento indexer:show-mode : muestra el estado de los índices. Reindexar los índices (para las búsquedas): php bin/magento indexer:resetphp bin/magento indexer:reindexphp bin/magento cache:cleanphp bin/magento cache:flush php bin/magento module:status : ver el estado de los módulos (cuáles están activos y cuáles no). php bin/magento module:enable Namespace_Module : Habilitar un módulo. Namespace_Module es el nombre del mismo como aparece en module:status (encima). php bin/magento module:disable Namespace_Module : Deshabilitar un módulo. php bin/magento module:uninstall Namespace_Module : Desinstalar un módulo. php bin/magento deploy:mode:show : Consulta el modo de funcionamiento de Magento activo. php bin/magento deploy:mode:set developer : Activa el modo desarrollo. php bin/magento deploy:mode:set production : Activa el modo producción. php bin/magento maintenance:enable : Activa el modo mantenimiento.Si quieres sólo habilitarlo excepto para ciertas IPs ponlas así: php bin/magento maintenance:enable –ip=x.x.x.x –ip=y.y.y.y. php bin/magento maintenance:disable : Desactiva el modo mantenimiento. php bin/magento maintenance:status : Estado del modo mantenimiento. php bin/magento admin:user:unlock adminusername : Desbloquear un usuario administrador. Más información aquí.

Internet, Soporte

Códigos de error de Redsys.

Actualizado 01/06/2022 Las tiendas online han tenido mucho auge con el tema del coronavirus (para muchos han sido la única manera de sobrevivir).Muchas de estas tiendas tienen un TPV virtual con su banco, y el más común es Redsys. Al recibir pagos con tarjeta, estos pagos pueden ser rechazados por muchos motivos (mal código CVV , fecha errónea, datos erróneos, problemas de comunicación etc etc). Redsys devuelve estos errores como un código en una notificación. Cuando recibes este pedido cancelado, si quieres ver por qué ha sido, tienes que: Comprobar el código de error de Redsys en la notificación (correo o sms). Puedes entrar en el panel de Redsys (el de producción) que te han enviado. Ahí podrás ver más información…pero básicamente verás el mismo código. Como todo se basa en el código de error, teníamos pendiente escribir un artículo sobre los mismos, que puedes ver aquí. A ver..no es que den muchísima más información. Pero en algún caso algo aclara. Códigos de error de Redsys. Código de error Error SIS0XXX Descripción 8102 Operación que ha sido redirigida al emisor a autenticar EMV3DS V1.0.2 (para H2H) 8210 Operación que ha sido redirigida al emisor a autenticar EMV3DS V2.1.0 (para H2H) 8220 Operación que ha sido redirigida al emisor a autenticar EMV3DS V2.2.0 (para H2H) 9001 SIS0001 Error Interno 9002 SIS0002 Error genérico 9003 SIS0003 Error genérico 9004 SIS0004 Error genérico 9005 SIS0005 Error genérico 9006 SIS0006 Error genérico 9007 SIS0007 El mensaje de petición no es correcto, debe revisar el formato 9008 SIS0008 falta Ds_Merchant_MerchantCode 9009 SIS0009 Error de formato en Ds_Merchant_MerchantCode 9010 SIS0010 Error falta Ds_Merchant_Terminal 9011 SIS0011 Error de formato en Ds_Merchant_Terminal 9012 SIS0012 Error genérico 9013 SIS0013 Error genérico 9014 SIS0014 Error de formato en Ds_Merchant_Order 9015 SIS0015 Error falta Ds_Merchant_Currency 9016 SIS0016 Error de formato en Ds_Merchant_Currency 9018 SIS0018 Falta Ds_Merchant_Amount 9019 SIS0019 Error de formato en Ds_Merchant_Amount 9020 SIS0020 Falta Ds_Merchant_MerchantSignature 9021 SIS0021 La Ds_Merchant_MerchantSignature viene vacía 9022 SIS0022 Error de formato en Ds_Merchant_TransactionType 9023 SIS0023 Ds_Merchant_TransactionType desconocido 9024 SIS0024 El Ds_Merchant_ConsumerLanguage tiene mas de 3 posiciones 9025 SIS0025 Error de formato en Ds_Merchant_ConsumerLanguage 9026 SIS0026 Problema con la configuración 9027 SIS0027 Revisar la moneda que está enviando 9028 SIS0028 Error Comercio / terminal está dado de baja 9029 SIS0029 Que revise como está montando el mensaje 9030 SIS0030 Nos llega un tipo de operación errónea 9031 SIS0031 Nos está llegando un método de pago erróneo 9032 SIS0032 Revisar como está montando el mensaje para la devolución. 9033 SIS0033 El tipo de operación es erróneo 9034 SIS0034 error interno 9035 SIS0035 Error interno al recuperar datos de sesión SIS0036 Error al tomar los datos para Pago Móvil desde el XML 9037 SIS0037 El número de teléfono no es válido 9038 SIS0038 Error genérico 9039 SIS0039 Error genérico 9040 SIS0040 El comercio tiene un error en la configuración, tienen que hablar con su entidad. 9041 SIS0041 Error en el cálculo de la firma 9042 SIS0042 Error en el cálculo de la firma 9043 SIS0043 Error genérico 9044 SIS0044 Error genérico SIS0045 Error genérico 9046 SIS0046 Problema con la configuración del bin de la tarjeta 9047 SIS0047 Error genérico 9048 SIS0048 Error genérico 9049 SIS0049 Error genérico 9050 SIS0050 Error genérico 9051 SIS0051 Error número de pedido repetido 9052 SIS0052 Error genérico 9053 SIS0053 Error genérico 9054 SIS0054 No existe operación sobre la que realizar la devolución 9055 SIS0055 existe más de un pago con el mismo número de pedido 9056 SIS0056 Revisar el estado de la autorización 9057 SIS0057 Que revise el importe que quiere devolver( supera el permitido) 9058 SIS0058 Que revise los datos con los que está validando la confirmación 9059 SIS0059 Revisar que existe esa operación 9060 SIS0060 Revisar que exista la confirmación 9061 SIS0061 Revisar el estado de la preautorización 9062 SIS0062 Que el comercio revise el importe a confirmar. 9063 SIS0063 Que el comercio revise el númer de tarjeta que nos están enviando. 9064 SIS0064 Número de posiciones de la tarjeta incorrecto 9065 SIS0065 El número de tarjeta no es numérico 9066 SIS0066 Error mes de caducidad 9067 SIS0067 El mes de la caducidad no es numérico 9068 SIS0068 El mes de la caducidad no es válido 9069 SIS0069 Año de caducidad no valido 9070 SIS0070 El Año de la caducidad no es numérico 9071 SIS0071 Tarjeta caducada 9072 SIS0072 Operación no anulable 9073 SIS0073 Error en la anulación 9074 SIS0074 Falta Ds_Merchant_Order ( Pedido ) 9075 SIS0075 El comercio tiene que revisar cómo está enviando el número de pedido 9077 SIS0077 El comercio tiene que revisar el número de pedido 9078 SIS0078 Por la configuración de los métodos de pago de su comercio no se permiten los pagos con esa tarjeta. 9079 SIS0079 Error genérico 9080 SIS0080 Error genérico 9081 SIS0081 Se ha perdico los datos de la sesión 9082 SIS0082 Error genérico 9083 SIS0083 Error genérico 9084 SIS0084 El valor de Ds_Merchant_Conciliation es nulo. 9085 SIS0085 El valor de Ds_Merchant_Conciliation no es numérico. 9086 SIS0086 El valor de Ds_Merchant_Conciliation no ocupa 6 posiciones. 9087 SIS0087 El valor de Ds_Merchant_Session es nulo. 9088 SIS0088 El comercio tiene que revisar el valor que envía en ese campo. 9089 SIS0089 El valor de caducidad no ocupa 4 posiciones. 9090 SIS0090 Error genérico. Consulte con Soporte. 9091 SIS0091 Error genérico. Consulte con Soporte. 9092 SIS0092 Se ha introducido una caducidad incorrecta. 9093 SIS0093 Denegación emisor 9094 SIS0094 Denegación emisor 9095 SIS0095 Denegación emisor 9096 SIS0096 El formato utilizado para los datos 3DSecure es incorrecto 9097 SIS0097 Valor del campo Ds_Merchant_CComercio no válido 9098 SIS0098 Valor del campo Ds_Merchant_CVentana no válido 9099 SIS0099 Error al interpretar respuesta de autenticación 9103 SIS0103 Error al montar la petición de Autenticación 9104 SIS0104 Comercio con “titular seguro” y titular sin clave de compra segura 9112 SIS0112 Que revise que está enviando en el campo Ds_Merchant_Transacction_Type. 9113 SIS0113 Error interno 9114 SIS0114 Se está realizando la llamada por GET, la tiene que realizar por POST 9115 SIS0115 Que revise los datos de la operación que nos está

Gestores de contenidos, Soporte, Trucos

Moodle muestra las imágenes corruptas tras una migración: solución.

Hace unos días migramos un Moodle de un alojamiento a otro. Estas migraciones las hacemos constantemente, y no suele haber problemas. Sin embargo está si que los dio: en el nuevo alojamiento las imágenes aparecían pixeladas, y verdes. En definitiva corruptas. Os mostramos un ejemplo. Se podía también ver porque si entrabas en el backend y activabas el modo debug salían unos errores de visualicación de imagen donde indicaban que la imagen estaba dañada. Además, si intentabas descargar la imagen desde el backend, no podías reproducirla. Solución. Las imágenes en Moodle están cifradas con un hash SH1. Puedes ver más información aquí: https://docs.moodle.org/dev/File_API_internals#File_API_internals Esto lo hacen para que una imagen sólo tenga que guardarse una vez aunque se referencie muchas veces en el sitio, incluso con distinto nombre. Como se hace en el control de versiones de git, por ejemplo. Además, quiere decir que, entre otras cosas, se puede comprobar si un fichero está dañado o no con el comando sha1sum de Linux. Pero, para el caso que nos ocupa, también quiere decir que no puede haber ninguna modificación en la transferencia de los archivos por FTP. Esto quiere decir, a modo práctico, que tienes que forzar en tu programa de FTP, por ejemplo en Filezilla, que la transferencia sea en modo Binario y no en Ascii o Auto. Los dos modos anteriores puede corromper las imágenes. Para hacerlo en Filezilla sólo tienes que ir a Edición > Opciones > Transferencias > FTP: Tipos de archivo y en Tipo de transferencia predeterminada ponerlo en Binario.Luego tienes que volver a descargar todas las imágenes de nuevo (el directorio data de Moodle) e importarlas otra vez. Verás que al hacerlo tendrás las imágenes sin corromper en el nuevo site.

Diseño Web, Sistemas, Webs

Booked: aplicación web opensource para gestionar reservas de recursos.

Hace unos días un conocido me mencionó esta aplicación web de reservas y, desde entonces, lo he usado para algún proyecto. En estos días del coronavirus, hay necesidad de aplicaciones para gestionar reservas de espacios físicos (habitaciones, espacios, máquinas…). Y Booked es perfecto para ello.Nota: desde el 01/11/2020 la aplicación sólo se mantiene desde Github (https://github.com/LibreBooking/app) ya que los desarrolladores lo han vuelto de pago. Cuando te planteas una aplicación de reservas tienes básicamente tres opciones: Booked: aplicación web gratis para reserva de recursos. Booked es una aplicación PHP y SQL de reservas web, con un calendario y todos los recursos necesarios para añadir un número ilimitado de recursos, con las opciones que necesites. El programa está disponible desde hace más de 10 años, con actualizaciones constantes. Traducido a casi 40 idiomas, sin límites de recursos, reservas o usuarios. Tiene un sistema de informes muy completo, integración con Outlook y Google Calendar, se puede acceder con Facebook y Google, personalizar el aspecto, integración con sistemas de pago… y mucho más.Al ser PHP, puedes personalizarlo a tu gusto. Tenéis una DEMO aquí: https://demo.bookedscheduler.com/Web/?

Sistemas, Soporte, Trucos

Copiar subdirectorios en Windows por terminal con xcopy

Hace unos días teníamos que rescatar la información de un disco duro dañado. Cada vez que intentábamos acceder por Windows se “colgaba”. Pero por línea de comandos, si se enfriaba antes el disco (truco de IT) conseguíamos que durara lo suficiente para transferir la información. Para ello usamos xcopy por terminal con la opción de copiar subdirectorios. Os lo dejamos aquí por si tenéis que usarla vosotros. Cómo copiar subdirectorios con xcopy. El las opciones de xcopy que usamos para copiar subdirectorios y su contenido fueron: xcopy origen destino /E /H /C /I Explicamos las opciones. /E : Copia directorios y subdirectorios incluidos los vacíos (/s sólo copia los que no están vacíos). /H: copia también los archivos ocultos y de sistema. /C: Sigue copiando incluso si ocurre un error (si ocurre pasa al siguiente archivo). /I: si no tiene destino al copiar, asume que el destino es un directorio. El comando anterior NO COPIA permisos de NTFS ni de compartición. Si quieres copiar los permisos usa: xcopy origen destino /O /X /E /H /K Los nuevos delimitadores son: /O: Copia el dueño del archivo y la información ACL. /K: copia los atributos del fichero (xcopy los resetea normalmente). /X: copia la configuración de auditoría (implica /O). Si lo que quieres es recrear una estructura de directorios, pero no copiar el contenido, se puede hacer con xcopy de la siguiente manera: xcopy origen destino /T /E Donde /T: copia los subdirectorios pero no los ficheros.

Diseño Web, Gestores de contenidos

Módulo gratuito Banner en el carrito para Prestashop 1.7.

Hoy os dejamos un recurso gratuito para Prestashop 1.7 que ha salido hace poco. Desarrollado por Prestashop. Es un módulo llamado Banner en el carrito. Lo que hace es que te permite poner avisos cuando el cliente llega al carrito. El aviso sale como un banner en la parte superior del carrito y es adaptable para móviles. Además de ser multilingüe. Con este banner podrás: Poner recordatorios o alertas para tus clientes Avisar de ofertas especiales. Animar a tus clientes a tener conciencia ecológica reduciendo los paquetes agrupando los pedidos. Y mucho más… Así, podrás mantener a tus clientes informados, alertarles de cualquier promoción o problema con la tienda e incentivar más compras. ¡Y gratis!

Sistemas, Trucos

Cómo ver cuánto tiempo lleva un ordenador Windows encendido.

En ocasiones queremos ver cuánto tiempo lleva un ordenador Windows encendido. Ya sea por temas de control o auditoría, o para ver si le estamos exigiendo demasiado y debemos dejarlo descansar. En Linux es muy sencillo, en Windows algo más complicado, os dejamos 2 métodos gráficos y dos métodos por comandos. Modo gráfico. Puedes verlo abriendo el Administrador de Tareas (botón derecho en la barra de Windows->Administrador de Tareas), si vas a Rendimiento y luego a CPU. Debajo pone el tiempo que lleva encendido la CPU. También si vas a tu conexión de red y haces doble click, te dice el tiempo que lleva funcionando. Por línea de comandos en CMD o Powershell. Por línea de comandos puedes usar CMD o Powershell. CMD Por cmd (Inicio->Ejecutar->cmd) podéis ejecutar lo siguiente: systeminfo | find “Tiempo de arranque del sistema” POWERSHELL. Tenéis dos opciones: (get-date) – (gcim Win32_OperatingSystem).LastBootUpTime Get-CimInstance -ClassName win32_operatingsystem | select csname, lastbootuptime Lo explicamos en el siguiente vídeo.

Diseño Web, Gestores de contenidos, Soporte

Magento 2: RedSys. Pedidos se quedan pendientes y tras el pago,lleva a una página a una página con error.

Si tienes Magento con el módulo oficial de RedSys puede que te esté ocurriendo este error. Los pagos están entrando, se reciben, pero el pedido se queda pendiente y al cliente le devuelve a una página con error. La causa de esto es que el módulo está mal, tiene definidas 3 páginas de “callback” (retorno): DS_MERCHANT_MERCHANTURL, DS_MERCHANT_URLOK y DS_MERCHANT_URLKO Estas páginas son las de la tienda, las de pedido correcto y las de pedido erróneo. Pero el plugin tiene definida la misa url (dirección) para todas estas páginas. Os enseñamos a corregirlo. Solución. Tenemos que modificar el fichero /app/Code/Redsys/Redsys/Controller/RedSysController.php y añadir las direcciones. Una manera de hacerlo es: Encontrad donde pone  $urlTiendaOK=$this->_baseURL.”redsys/index/notify”; y añadid justo después las siguientes dos líneas (dos variables):    $urlTiendaOK=$this->_baseURL.”checkout/onepage/success”;    $urlTiendaKO=$this->_baseURL.”checkout/onepage/failure”; Id a donde pone: $miObj->setParameter(“DS_MERCHANT_URLOK”,$urlTienda);$miObj->setParameter(“DS_MERCHANT_URLKO”,$urlTienda); y cambiadlo por $miObj->setParameter(“DS_MERCHANT_URLOK”,$urlTiendaOK);$miObj->setParameter(“DS_MERCHANT_URLKO”,$urlTiendaKO); De esta manera tiene las nuevas direcciones a las que ir cuando el pago sea exitoso o no. Probad ahora un pago, veréis como llega bien a Magento, el pedido pasa a su estado pagado y el cliente recibe el mensaje de “pago correcto”.

Scroll al inicio