Estás hablando de ataques ClickJacking . (El título era diferente antes de mi edición)
¿Puede alguien evitarlo?
Sí, esto se puede omitir al cargar la página en un iframe. Lamentablemente no tengo el código por el momento. Sin embargo, lo que se puede hacer es deshabilitar javascript mientras se carga el iframe. Esto pasará por alto su código de destrucción de marcos. (No hay tal cosa como el código que destruye los marcos en mi humilde opinión)
¿Es necesario utilizar X-FRAME-OPTIONS para evitar ClickJacking?
ataques?
Para los navegadores más nuevos, es el estándar prevenir ataques de ClickJacking. No veo una razón para no usarlo, ya que es bastante simple agregar el encabezado adicional para cada respuesta.
Uno de ellos me dijo que un atacante puede redefinir la variable de ubicación:
var location = 'foo';
Como no se muestra todo el código, es difícil decir si esto es explotable o no. Lo único que puedo ver en esta línea de código es que el atacante podría atacar su propio navegador modificando la ubicación de la variable, que es inútil.