Solo lectura

Google Chrome - Foro de ayuda

Esta página web es un archivo de los hilos antiguos de los foros de Google. Más información

Advertencia de Chrome en descargas de mi web

Iván Patiño
8/08/15 6:45
Hola,

Hoy me he dado cuenta que Google Chrome muestra el mensaje "{nombre del archivo} no es un archivo que se descargue habitualmente y puede ser peligroso" al descargar algunos archivos zip desde mi web.
Dichos archivos no contienen ningún software malicioso ni nada por el estilo por lo que me gustaría saber si alguien sabe en que se basa el Chrome para mostrar esta advertencia y como puedo solucionarlo.

Un ejemplo:

Gracias

Respuestas (7)

avm99963
8/08/15 7:42
¡Hola Iván!

He creado una cuenta en tu página, pero aún así no puedo descargar el archivo ya que dice que no estoy autorizado para acceder a esa área :-P ¿Podrías poner un ejemplo que podamos ver y nos cuentas exactamente qué es?

Por cierto, a lo mejor puedes obtener un poco más información sobre la razón por la que el archivo se ha marcado como peligroso si enlazas tu página web con Search Console (antes llamado Google Webmaster Tools):
También te adjunto un enlace con más información sobre Safe Browsing:
Con esto veremos qué podemos hacer para resolver este inconveniente. ¡Espero tu respuesta! ;-)

Saludos :-)

Para continuar con la conversación, debes regresar al Foro.
Las respuestas por correo electrónico no llegan  Acceder al hilo
Iván Patiño
8/08/15 11:59
Disculpa, me equivoqué de enlace. A este otro se debería acceder sin problemas:

Sobre Search Console, ya tengo las web enlazadas y en la sección de seguridad me pone que no se ha detectado ningún problema de seguridad en el contenido del sitio.
avm99963
8/08/15 13:15
Oh, perfecto, ¡gracias!

Vi en los Foros en inglés la causa de un problema casi igual al tuyo[1]. No se si entenderás un poquitín de HTTP y las cabeceras que se envían en las peticiones al servidor y respuestas del servidor, pero si esto no te suena, lee todo lo que escribo aquí abajo. Si te suena, puedes leer directamente en el TL;DR (too long, didn't read).

Peticiones HTTP y sus cabeceras
Cuando un servidor (es decir, tu página web) quiere enviar el fichero al cliente (es decir, el ordenador que pide descargar el archivo), este incluye al principio del todo unas cabeceras. Estas cabeceras incluyen información como por ejemplo el peso del fichero, el programa y versión del programa en el servidor que envía el fichero, la fecha en que se envió, etc. Pero una muy importante es la cabecera que tiene el código nombre Content-Type. Esta cabecera define el tipo de contenido que se envía al cliente. Normalmente tiene la estructura */*, donde los asteriscos son una palabra o varias separadas por guiones.

Bien, ahora que ya entendemos lo que son las cabeceras, vayamos a ver por qué es relevante a este problema. Según he visto en los Foros en inglés, si lo que está descargando es un ejecutable Chrome verificará si es un programa conocido y que no tiene virus, o si es algún ejecutable que no se ha descargado casi nadie y se duda de su fiabilidad (podría causar problemas). Entonces, lo que ocurre es que tu página web al enviar el ZIP adjunta la siguiente cabecera: Content-type: application/octet-stream. Poner esta cabecera es un gran truco en el lenguaje de programación PHP para hacer que un archivo se descargue... pero no indica de qué tipo es. Y al empezar por application, Chrome podría detectar que fuera un ejecutable, y no un archivo ZIP. Entonces, para arreglar este problema, en vez de Content-type: application/octet-stream, se debería enviar Content-type: application/zip, para mostrar que lo que se va a descargar es un archivo ZIP, y que no hay peligro (excepto si lo que hay dentro del ZIP es un ejecutable, entonces la cosa cambia jeje).

TL;DR: En el script PHP de descarga download.php, haz que se envíe la cabecera Content-type correspondiente al archivo que se va a descargar, en vez de establecerla siempre a application/octet-stream. Si esto lo has hecho a propósito para que el navegador sepa que se tiene que descargar en vez de mostrarlo en la ventana del navegador, tranquilo, ya envías la cabecera Content-Disposition: attachment; filename=* que hará que se descargue en vez de mostrarse.

¿Fue de ayuda?

Saludos :-)

Iván Patiño
8/08/15 13:48
Gracias por tu respuesta pero no me ha funcionado.
He cambiado application/octet-stream por application/zip y sigue igual.

De hecho, me llama la atención que, usando siempre el mismo script, algunos archivos no muestren esa advertencia, por ejemplo:

Cuando en todos, lo único que hay son archivos de addons en php por lo que solo hay archivos php, html, js y css aparte de los txt del tipo "README". en ninguno hay ningún ejecutable (exe)
avm99963
9/08/15 14:45
¡Hola de nuevo!

Vaya :-/ Voy a ver si alguien del Foro sabe más sobre este tema, ya que no he podido averiguar cómo Chrome bloquea algunas descargas por ser raras, y que las clasifica como potencialmente peligrosas, y otras no. Siendo sincero, a parte de lo que te he dicho antes (que no ha funcionado), no encuentro ningún otro motivo por el que Chrome pudiera estar comportándose así. ¡Es un zip que contiene un simple[1] plugin de phpBB!

Te cuento también que a mí en Mac no me sale el mensaje de advertencia. Iba a probar en mi máquina virtual de Windows para ver si allí sí me salía, pero está inservible :-( Tendré que formatearla y volver a instalar Windows, o ajustar mejor la configuración de Virtualbox...

Saludos :-)

[1]: Con simple me refiero a que es simplemente un plugin, no que sea sencillo de desarrollar :-P
avm99963
11/08/15 8:38
Bien, el colaborador fpardo me ha comentado lo siguiente:

En un bug de Chromium[1], un ingeniero dice que "si Google Safe Browsing no ha visto un particular binario antes, o es muy nuevo, Chrome advertirá que podría ser peligroso. Esto se irá cuando Safe Browsing pueda analizar el binario".

Entonces, el comentario #10 de ese mismo bug sugiere que se lea el siguiente artículo de ayuda para rellenar una apelación:
Fernando también me ha comentado que pruebes de solicitar una reconsideración:
¿Pruebas y nos cuentas?

Saludos :-)

Iván Patiño
20/08/15 5:28
Gracias por tu ayuda pero no he podido solucionarlo con los enlaces que proporcionas porque al no aparecer ninguna advertencia de software malintencionado no me aparece la opcion de solicitar una revisión o una reconsideración.