Solía sentir que había muchos valores en Request.ServerVariables, pero ahora veo que todavía hay tantos, pero hoy hablaré sobre uno de los valores: HTTP_Referer y cuál es la diferencia entre Server_Name y Http_Host en Solicitud.Variables del servidor?
Acabo de ejecutar un fragmento de código para ver cuántos valores hay en Request.ServerVariables. ¡Lo miré y encontré 50 en total!
Código<%=Request.ServerVariables.count%>
Solía sentir que había muchos valores en Request.ServerVariables, pero ahora veo que todavía hay tantos, pero hoy hablaré sobre uno de los valores ---- HTTP_Referer
En primer lugar, primero sabemos que la aplicación HTTP_Referer más utilizada es evitar envíos externos.
En las siguientes situaciones, Request.ServerVariables(HTTP_REFERER) se obtiene normalmente de la barra de direcciones del navegador:
1) Utilice <a href=> directamente
2) Formulario enviado con Enviar o <tipo de entrada=imagen> (POST u GET)
3) Envío de formularios mediante JavaScript (POST o GET)
Echemos un vistazo a la situación en la que Request.ServerVariables (HTTP_REFERER) no puede tomar el valor normalmente:
1) Enlace de favoritos
2) Haga clic en la página de inicio o dirección personalizada
3) Ingrese la dirección directamente en el navegador
4) Utilice Location.href o Location.replace() de JavaScript
5) <%Respuesta.Redireccionamiento%>
6) Redirección <%Response.AddHeader%> o <mete http-equiv=refresh>
7) Cargar dirección usando XML
Obviamente, Request.ServerVariables(HTTP_REFERER) no funciona correctamente en la mayoría de los casos. Presentaré su uso específico en detalle en artículos futuros y también presentaré las diferencias entre Request.ServerVariables (HTTP_HOST) Request.ServerVariables (SERVER_NAME).
¡Manténganse al tanto!
¿Cuál es la diferencia entre Server_Name y Http_Host en Request.ServerVariables?
Si no miras de cerca, no deberías poder notar la diferencia entre ellos. Busqué mucho en Internet, pero todavía no lo entendía, pero al final había una frase que era muy clara: Http_Host puede solicitar un Server_Port distinto de 80. En pocas palabras, Http_Host = Server_Name: Server_Port.
He publicado un artículo sobre la función de Http_Referer antes y ahora lo combinaré para escribir una función ASP que evite envíos externos.
Copie el código de la siguiente manera:function ChkPost()
dim server_v1,server_v2
chkpost=false
server_v1=Cstr(Request.ServerVariables(HTTP_REFERER))
server_v2=Cstr(Request.ServerVariables(SERVER_NAME))
If Mid(server_v1,8,Len(server_v2) ) <>servidor_v2 entonces
chkpost=False
else
chkpost=True
fin Si
finaliza la función
Seleccionar caso
Si desea seleccionar uno de varios conjuntos de códigos para ejecutar, puede usar la instrucción SELECT:
Copie el código de la siguiente manera:
seleccione caso
caso de pago Caja de mensajes en efectivo
Usted va a pagar en efectivo
caso Visa
msgbox Vas a pagar con visa
caso AmEx
msgbox Vas a pagar con American Express
caso De lo contrario
msgbox Método de pago desconocido
final
Cómo funcionael
código de selección anterior: Primero, necesitamos una expresión simple (generalmente una variable), y esta expresión se evaluará una vez. Luego, se compara el valor de la expresión con el valor de cada caso, y si hay coincidencia, se ejecuta el código correspondiente al caso coincidente.