sábado, 9 de febrero de 2019

Editar el archivo robots.txt en Blogger (blogspot)

Cómo editar el archivo robots.txt en Blogger (blogspot)


Pues ahora checando las estadísticas de este su blog, resulta que tengo una alerta sobre ciertas rutas de búsqueda que no están siendo consideras en buscadores debido a que el archivo robots.txt las está bloqueando.

La razón es que las rutas de búsqueda están siendo bloqueadas debido a esta línea en robots.txt

Disallow: /search

Independientemente de las consecuencias de remover esta línea, el propósito de este post es mostrar cómo editar el archivo robots.txt en blogger.

Les dejo aquí los pasos para editar el archivo robots.txt de una cuenta de blogger.

1.- Dentro de tu cuenta de blogger, selecciona: Settings > Search Preferences
2.- En la sección Crawlers and indexing, click en Custom robots.txt - Edit
3.- Seleccionar Yes y en el area de texto que aparece pegar el contenido del archivo robots.txt

Editar robots.txt en blogger
4.- Click en guardar cambios y listo.

Para no esperar a que el buscador pase de nuevo en algunos días, se puede indicar a google que el archivo ha cambiado manualmente.

Para hacer esto pueden entrar al Search Console de google > Crawl > Robots.txt Tester.

Click en Submit y seleccionar la opción: Ask Google to update

Robots.txt Tester

Con esto Google está informado que el archivo ha cambiado para la siguiente vez que el sitio sea indexado.

Espero les sirva



lunes, 4 de febrero de 2019

VMWare Horizon pantalla negra en OSX Mojave

VMWare Horizon pantalla negra en OSX Mojave


Estaba utilizando el cliente VMWare Horizon version 3.8 y algo en macOS Sierra sin problemas pero recientemente acepte la actualización a MacOS Mojave.

Lo que obtuve, ademas del disgusto, fue que sí pude conectarme con el cliente de VMWare Horizon aparentemente bien pero la pantalla negra que inicialmente aparece al conectarse nunca se quitó.

Esto me ocurría con anterioridad pero siempre después de algunos segundos la pantalla negra pasa a la pantalla azul de inicio de windows. Además de esto se puede escuchar el sonido cuando intentas entrar mandando las teclas de ctrl + alt + suprimir. Osea que sí se conecta pero no se ve nada.

Investigando un poco encontré que hay que actualizar la version el cliente de VMWare Horizon. La versión que soporta MacOS Mojave es la 4.10

Aquí les dejo el link descarga del cliente VMWare Horizon 4.10:


Espero les sirva.


miércoles, 30 de enero de 2019

contact form 7 Sender email address does not belong to the site domain

Contact form 7 Sender email address does not belong to the site domain

Este error me salió al intentar integrar el plugin Contact form 7 en Wordpress. Después de una actualización tanto de contact form como de word press.

El error sale en el campo From del formulario.

Se arregla colocando algún email en este campo. Si no cuentas con un email siempre puedes poner un email de noreply

Cambiar:
[your-name] <[your-email]>

Por algo así:
[your-name] <noreply@tudominio.com>


Debe verse algo como esto:


En la imagen se ve el error porque puse noreply@tudominio.com y no coincide con el dominio donde está hospedado. Hace la validación al aire mientras estás editando.


Espero les sirva.


domingo, 27 de enero de 2019

CS0151 Switch case no funciona con una variable ViewBag string

CS0151: A switch expression or case label must be a bool, char, string, integral, enum, or corresponding nullable type

Me encontré con este error al tratar de usar una variable de ViewBag dentro de un switch case.
De hecho el error sale desde que el código es evaluado en tiempo de diseño.
La variable es de tipo string por lo que no entendía a qué se debe este error. Lo primero que intenté fue agregar un ToString a la variable pero esto no es suficiente.

Al parecer se debe a que la variable de ViewBag es una expresión dinámica y no puede ir dentro de la expresión switch case.

@{
    var mivariable = ViewBag.MiVariable.ToString();
    switch (mivariable)
    {
        case "uno": Html.Action("action1"); break;
        case "dos": Html.Action("action2"); break;
       
    }

}

Solución.

Tienen que hacer un cast string a la variable para poder usarla dentro del switch case.

var mivariable = (string)ViewBag.MiVariable.ToString();


Espero les sirva.



domingo, 20 de enero de 2019

ORA-12906: Cannot drop default temporary tablespace

ORA-12906: CANNOT DROP DEFAULT TEMPORARY TABLESPACE

Me encontré con este error al tratar de eliminar el tablespace default de una base de datos de Oracle 11g.

El error ocurre al ejecutar un DROP TABLESPACE temp

SQL> DROP TABLESPACE temp;
drop tablespace temp
*
ERROR at line 1:

ORA-12906: cannot drop default temporary tablespace

La base de datos de Oracle forzosamente necesita tener un tablespace temporal asignado. Por esta razón, para poder borrarlo, primero se debe crear un nuevo tablespace temporal y asignarlo a la base de datos.

Dejo aquí las instrucciones para crear, asignar y borrar el tablespace.

SQL> CREATE TEMPORARY TABLESPACE temp02 TEMPFILE 'temp02.dbf' SIZE 5M AUTOEXTEND ON;

Tablespace created.

SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp02;

Database altered.

SQL> DROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES;

Tablespace dropped.

Si quieres que el tablespace tenga el mismo nombre que el anterior (temp), es necesario repetir los mismos pasos.

Espero les sirva




viernes, 7 de diciembre de 2018

Error installing docker in Oracle Linux - Requires: container-selinux >= 2.9

Error installing docker in Oracle Linux - Requires: container-selinux >= 2.9

Intentando instalar Docker ce en una máquina virtual Oracle Linux 7.5 en VirtualBox me encontré con el siguiente error después de ejecutar: sudo yum install docker-ce

$ sudo yum install docker-ceLoaded plugins: langpacks, ulninfoResolving Dependencies--> Running transaction check---> Package docker-ce.x86_64 3:18.09.0-3.el7 will be installed--> Processing Dependency: container-selinux >= 2.9 for package: 3:docker-ce-18.09.0-3.el7.x86_64--> Processing Dependency: containerd.io for package: 3:docker-ce-18.09.0-3.el7.x86_64--> Processing Dependency: docker-ce-cli for package: 3:docker-ce-18.09.0-3.el7.x86_64--> Running transaction check---> Package containerd.io.x86_64 0:1.2.0-3.el7 will be installed---> Package docker-ce.x86_64 3:18.09.0-3.el7 will be installed--> Processing Dependency: container-selinux >= 2.9 for package: 3:docker-ce-18.09.0-3.el7.x86_64---> Package docker-ce-cli.x86_64 1:18.09.0-3.el7 will be installed--> Finished Dependency ResolutionError: Package: 3:docker-ce-18.09.0-3.el7.x86_64 (docker-ce-stable)           Requires: container-selinux >= 2.9 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest


Hasta este punto he seguido todos los pasos descritos en la documentación de Docker para instalación en Linux descrita en la siguiente liga:


Después de leer un poco y varios intentos fallidos encontré que este error se presenta en algunas versiones viejas de Docker y que la solución es especificar la version exacta de Docker que quieres instalar y pasar la opción de ignorar paquetes obsoletos.

Solución:

$ sudo yum install --setopt=obsoletes=0 \  
docker-ce-17.03.2.ce-1.el7.centos.x86_64 \ 
docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch 

Con esto pude realizar la instalación de Docker in Linux Oracle 7.5 y continuar con los siguientes pasos de levantar Docker y realizar el Hello World.

$ sudo systemctl start docker
$ sudo docker run hello-world

Pueden encontrar la referencia completa en esta liga: https://github.com/docker/for-linux/issues/20

Espero les sirva.







jueves, 9 de agosto de 2018

Unable to cast object of type 'System.Security.Principal.WindowsPrincipal' to type

Unable to cast object of type 'System.Security.Principal.WindowsPrincipal' to type

Estuve buscando sobre este error y parece que puede ocurrir en diferentes escenarios sin embargo el problema está relacionado con el tipo de autenticación que estén usando en su aplicación web.



Hay diferentes formas de manejar la autenticación en una aplicación web y una de ellas es windows authentication, forms authentication, etc 

Mi particular escenario es tener una aplicación web que usa Forms authentication. Es decir que tengo mi formulario de login y hago mi validación con base de datos, para esto utilizo una clase personalizada y por motivos de seguridad he activado la opción windows authentication a nivel de IIS.

IIS windows authentication
IIS windows authentication
Obtengo el error al cambiar el tipo de Authentication en IIS de un sitio web de Anonymous authentication a Windows authentication 

El error exacto en mi código es en la asignación del usuario, ya que la validación en el if es correcto:

@if (User.Identity.IsAuthenticated)
{
namespace.Models.Usuario u=mynamespace.Models.MyModel.usuario;
if (usuario != null)
{

La clase Identity es una clase reservada para identificar a un usuario dentro de la aplicación web y al parecer esta cambia al hacer el cambio en IIS a windows authentication
Por esta razón es necesario hacer otra validación en el if antes de hacer una asignación de objetos de seguridad errónea.

En mi caso el error se arregla agregando esta validación en mi if para FormsIdentity y en cualquier lugar donde use alguna clase de este tipo.

@if (User.Identity.IsAuthenticated && User.Identity is FormsIdentity)


Espero les sirva.