2012-06-15 31 views
6

Estoy tratando de implementar una solución alternativa para la funcionalidad CORS que falta en Internet Explorer. Para las solicitudes GET, uso JSONP, no hay problema aquí. Para pequeñas solicitudes POST/DELETE/PUT, también uso JSONP tunelizando las solicitudes a través de GET, pero esto no funciona para solicitudes más grandes (debido a que la longitud de la URL GET es limitada). Entonces, para datos grandes, trato de implementar un formulario POST a través de un iframe. No puedo leer la respuesta de este POST debido a la política del mismo origen, así que obtengo la respuesta a través de una solicitud JSONP GET después de publicar los datos. Funciona muy bien, pero a veces me da una extraña advertencia en IE 9:¿Qué desencadena "Internet Explorer ha modificado esta página para ayudar a evitar la creación de scripts entre sitios"?

Internet Explorer has modified this page to help prevent cross-site scripting. 

principio me preguntaba qué demonios IE está haciendo allí porque incluso cuando esta advertencia aparece todo sigue funcionando correctamente. Luego descubrí que IE reemplaza el contenido del iframe oculto DESPUÉS de la respuesta POST (que no puedo leer y necesito de todos modos) con un carácter "#".

Así que mi solución aún funciona incluso cuando aparece esta advertencia, pero me gustaría saber exactamente qué desencadena esta advertencia, así que tal vez pueda modificar mi solución CORS para deshacerse de esta advertencia. ¿Algún consejo?

+0

IE protege contra [XSS reflejado] (http://en.wikipedia.org/wiki/Cross-site_scripting#Non-persistent) y creo que comprueba si la respuesta del servidor contiene datos que se le pasaron en el solicitar en una forma no escamada. Si no necesita la respuesta a su solicitud POST de todos modos, entonces supongo que no enviar nada solucionará esto? –

+0

La respuesta ya está vacía. No estoy desperdiciando ancho de banda para datos que no puedo leer de todos modos. – kayahr

+0

¿Has visto [http://stackoverflow.com/questions/4635403/how-to-set-http-header-x-xss-protection](http://stackoverflow.com/questions/4635403/how-to -set-http-header-x-xss-protection)? –

Respuesta

9

Puede configurar el encabezado X-XSS-Protection en su servidor. Esto le indicará a IE que desactive la protección XSS en su sitio.

Cuestiones relacionadas