Foros del Web » Programando para Internet » ASP Clásico »

variable de servidor http_via

Estas en el tema de variable de servidor http_via en el foro de ASP Clásico en Foros del Web. A las buenas.... Verán, arresulta que una aplicación en asp que estaba funcionando bajo http ahora debe funcionar bajo https. Hasta hí todo bien, el ...
  #1 (permalink)  
Antiguo 18/05/2005, 08:19
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 9 meses
Puntos: 381
variable de servidor http_via

A las buenas....

Verán, arresulta que una aplicación en asp que estaba funcionando bajo http ahora debe funcionar bajo https. Hasta hí todo bien, el caso es que funciona bajo ambos protocolos y claro, la idea de instalar un certificado de seguridad es para usarlo

La cuestión es que había pensado en verificar el protocolo utilizado y en el caso de que venga vía http redireccionarlo a https, para lo cual había pensado usar la variable de servidor http_via peeero, parece que el IIS 5.0 no se la sabe.

¿saben si habría otra forma de averiguar el protocolo utilizado? el referrer no me sirve.

... o tal vez esto se pueda controlar desde el propio servidor? que las peticiones via http las rechace....

'chas gracias
  #2 (permalink)  
Antiguo 18/05/2005, 08:27
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 6 meses
Puntos: 144
Hay una variable de servidor llamada SERVER_PROTOCOL. Mira a ver si rula. Si no rula, a mi no me eches la culpa, einghhhh

Añado esto que ya sabes de sobrasssss, para que veas las variables de servidor soportadas por tu IIS:

Código:
<table border=1>
<%for each name in request.servervariables%>
<tr>
<td>
	<%=name%>
</td>
<td>
	<%=request.servervariables(name)%>
</td></tr>
<%next%>
</table>
We are the champions (es que no lo había dicho, jejeje).

Última edición por 3pies; 18/05/2005 a las 08:35
  #3 (permalink)  
Antiguo 18/05/2005, 13:50
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Algo asi..

Tal vez esto te sirva

if Request.ServerVariables("HTTPS") = "on" then

//Esta usando https

else

//Esta usando http

end if

Luego ya haces lo que tu necesites.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #4 (permalink)  
Antiguo 19/05/2005, 05:49
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 9 meses
Puntos: 381
Holas

3pies, alegre de encontrarte

Pues he mirado lo que devuelve esa variable (SERVER_PROTOCOL) y devuelve siempre los mismo, independientemente de que cargue via http o https.

Igual te agradezco pucho la ayuda

Neuron_376,

bingo! con https devuelve on u off el mismo documento según con qué protocolo lo cargue.

Muchas gracias

Igual charlando con el técnico me dice que si cerramos el puerto 80 en el server no se podrá entrar usando http, tal vez eso sea lo más seguro, aunque me parece que igual voy a poner ese condicional por si las moscas

Gracias a ambos y un saludo!
  #5 (permalink)  
Antiguo 19/05/2005, 09:01
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola

De hecho tienes razon, si sabes que tienes un servidor que no quieres permitir para nada HTTP, entonces cierras los puertos que no necesitas, es decir, siempre mantienenes todo cerrado, menos el puerto que realmente utilizas, eso es lo mas seguro siempre.

Sin embargo nunca esta de mas por ejemplo verificar ese parametro para mas seguridad.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #6 (permalink)  
Antiguo 19/05/2005, 09:24
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 9 meses
Puntos: 381
De hecho el servidor de internet se usa sólo para acceder a esa aplicación, no tiene otro uso así que yá estaría bien si cierran ese puerto directamente.

Igual aún no lo han hecho pero porsiaca yá le he puesto el condicional y funciona de coña

... por si a alguien le viene bien lo que puse fue...

Código:
if request.servervariables("https") = "off" then
dire = "https://" & request.ServerVariables("http_host") & request.ServerVariables("SCRIPT_NAME")
	if request.ServerVariables("QUERY_STRING") <> "" then
	dire = dire & "?" & request.ServerVariables("QUERY_STRING")
	end if
response.Redirect(dire)
end if
Un saludo gracias otra vez
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:44.