Programación

Invalid Form Key Error

Este es un error típico que puede ser causado por diferentes motivos: no existe la clave en el formulario enviado, desconfiguración de las cookies, login, etc.

En esta ocasión vamos a tratar este error que sucede en el administrador de Magento al gestionar el catálogo.

¿Cuándo sucede?

Lo que he descubierto por mí mismo es que puede aparecer:

  1. Cuando buscamos un producto en una categoría con una cantidad importante de referencias
  2. Cuando cambiamos el orden de los productos de una categoría e intentamos guardarla.
  3. Intentemos guardar un producto con múltiples opciones.

 ¿Por qué sucede?

El error aparece porque no es enviada el valor de la key al hacer la búsqueda o guardar (a través de ajax).

Y no es enviada  porque este valor es truncado al sobrepasar el límite de variables que podemos enviar al servidor. Este límite está configurado dentro del servidor para prevenir ataques DDOS pero ante categorías con cientos o miles de productos podemos sobrepasar fácilmente este valor y, como hemos dicho, nos devolverá un error en forma de alerta.

¿Cómo solucionarlo?

Una útil solución es cambiar la configuración de Apache, aumentando el límite de la variable max_input_vars. Además si esta configuración afecta sólo al administrador de Magento tendremos más seguridad ante ataques DDOS que si afecta a la totalidad de la tienda.

Este sería una posible opción  añadiéndolo al php.ini :

<LocationMatch "/(index\.php/)?admin/">
  <IfModule mod_php5.c>
    php_value max_input_vars X
  </IfModule>
</LocationMatch>

Y para .htaccess (afectando a la totalidad de la tienda):

php_value max_input_vars X

Donde X es el número de variables que queramos establecer y admin es la ruta donde tenemos el administrador de la tienda online. El valor X también dependerá del mayor número de productos asociados a una misma categoría. Si tenemos una categoría con 800 productos podemos establecer este valor a 1000 para tener cierta holgura. Si tenemos una categoría con grandes cambios se puede subir este cambio al valor que consideremos deseado en función de nuestras expectativas.

También puedes contactar con el hosting para que se ocupen ellos de incrementar la variables si no tenéis conocimientos o no tenéis privilegios para cambiar el php.ini.

Si tienes otros síntomas este post  puede ser de ayuda.

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (Califica este artículo)
Cargando…

Dejar un comentario

Clientes

¿Hablamos?

Una vez que has llegado aquí ¿tienes alguna duda? Déjame tus datos de contacto y te llamaré en el primer hueco que encuentre.

Contactar