for - Problema de referer http de Internet Explorer
internet explorer descargar (6)
parece que me encontré con un problema con Internet Explorer 7. Tengo una página html que tiene enlaces a archivos en otro servidor. El servidor al que estoy enlazando comprueba el referente de la solicitud y, si el referente es válido, permite el acceso al recurso. Funciona bien en Firefox 2 y 3 (como el servidor en el que se encuentra mi página html es un referenciador válido) pero en Internet Explorer no funciona, el otro servidor me niega el recurso (genera un error http 403). Estaba haciendo algunas búsquedas y tropecé con este http://support.microsoft.com/kb/178066 y he probado la página html en https y http y lo mismo para el servidor al que me estoy conectando, pero no consigo nada de Internet Explorer . ¿Qué puedo hacer para evitar esto?
gracias
¿Cómo está "llegando" al archivo en cuestión?
SI USTED ESTÁ UTILIZANDO JAVASCRIPT para acceder al archivo, IE FALLARÁ.
IE ha tenido un error importante desde el principio de esto.
e.g. document.location.href = ''myNewPage.html''; //FAILS to pass referer in IE
¡no será arreglado en IE8 tampoco! :-(
Deshabilite los firewalls y la comprobación de antivirus o antispyware y vea si eso ayuda. Sé que esto puede sonar troll, pero personalmente he visto muchos casos en los que el problema desapareció milagrosamente cuando se tomó este consejo.
Tienden a tener una idea demasiado entusiasta a veces de lo que es "Seguro", y rompen el comportamiento del navegador en el progreso. (Si tiene AVG y tiene problemas con el correo electrónico (pop3), desactive AVG y vea cómo el correo electrónico vuelve mágicamente al estado de trabajo)
Es posible que desee utilizar un mecanismo diferente de todos modos. Las referencias son fácilmente falsificadas. Verificar las referencias realmente no es una buena solución de seguridad, y si te van a causar dolores de cabeza como este, tal vez quieras encontrar otra manera.
Por ejemplo, el servidor que genera la primera página podría agregar un token de autorización a las URL al segundo servidor, y el segundo servidor podría verificar que los tokens sean válidos. De esta forma, todos los detalles están bajo su control, y el único comportamiento del navegador con el que cuenta es que la URL completa se envía al segundo servidor.
No estoy usando IE7, así que no puedo verificar esto ... pero supongo que esto debería funcionar sin problemas:
<script type="text/javascript">
document.location= "www.your-server.com/your_page.html?referrer=" + document.location.href;
</script>
Y que en el segundo servidor puede verificar el valor del parámetro de referencia en lugar de depender de si el navegador envía el referidor o no.
Encuentro esta solución en http://dracoblue.net/dev/referer-with-documentlocation-is-broken-in-internet-explorer/145/ , pero no me he probado
function goto(url)
{
var referLink = document.createElement(''a'');
referLink.href = url;
document.body.appendChild(referLink);
referLink.click();
}
Lo he resuelto, incluya este código en todas las páginas de su proyecto
session_start();
if($_SERVER[''SERVER_PORT''] == 443 )
$http = ''https://'';
else
$http = ''http://'';
$adress = $http.$_SERVER[''HTTP_HOST''].$_SERVER[''REQUEST_URI''];
$_SESSION[''referer''] = $_SESSION[''current_page''];
$_SESSION[''current_page''] = $adress;
$_SERVER[''HTTP_REFERER''] = $_SESSION[''referer''];