J'avais l'habitude de penser qu'il y avait beaucoup de valeurs dans Request.ServerVariables, mais maintenant je vois qu'il y en a encore tellement, mais aujourd'hui je vais parler de l'une des valeurs - HTTP_Referer et quelle est la différence entre Server_Name et Http_Host dans Request.ServerVariables?
Je viens d'exécuter un morceau de code pour voir combien de valeurs il y a dans Request.ServerVariables, je l'ai regardé et j'en ai trouvé 50 au total !
Code<%=Request.ServerVariables.count%>
J'avais l'habitude de penser qu'il y avait beaucoup de valeurs dans Request.ServerVariables, mais maintenant je vois qu'il y en a encore tellement, mais aujourd'hui je vais parler d'une des valeurs ---- HTTP_Referer
Tout d’abord, nous savons d’abord que l’application la plus couramment utilisée de HTTP_Referer est d’empêcher les soumissions externes.
Dans les situations suivantes, Request.ServerVariables(HTTP_REFERER) est normalement obtenu à partir de la barre d'adresse du navigateur :
1) Utilisez <a href=> directement
2) Formulaire soumis avec Submit ou <input type=image> (POST ou GET)
3) Soumission du formulaire en utilisant JavaScript (POST ou GET)
Jetons un coup d'œil à la situation dans laquelle Request.ServerVariables(HTTP_REFERER) ne peut pas prendre la valeur normalement :
1) Lien des favoris
2) Cliquez sur la page d'accueil ou l'adresse personnalisée
3) Saisissez l'adresse directement dans le navigateur
4) Utilisez Location.href ou Location.replace() de JavaScript
5) <%Response.Redirect%>
6) Redirection <%Response.AddHeader%> ou <mete http-equiv=refresh>
7) Charger l'adresse en utilisant XML
Évidemment, Request.ServerVariables(HTTP_REFERER) ne fonctionne pas correctement dans la plupart des cas. Je présenterai son utilisation spécifique en détail dans les prochains articles, ainsi que les différences entre Request.ServerVariables(HTTP_HOST)Request.ServerVariables(SERVER_NAME).
restez à l'écoute!
Quelle est la différence entre Server_Name et Http_Host dans Request.ServerVariables ?
Si vous n’y regardez pas attentivement, vous ne devriez pas pouvoir faire la différence entre eux. J'ai beaucoup cherché sur Internet, mais je n'ai toujours pas compris, mais à la fin il y avait une phrase très claire : Http_Host peut demander un Server_Port autre que 80. En termes simples, Http_Host=Server_Name:Server_Port.
J'ai déjà publié un article sur le rôle de Http_Referer, et maintenant je vais le combiner pour écrire une fonction ASP qui empêche les soumissions externes.
Copiez le code comme suit :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) ) <>serveur_v2 alors
chkpost=False
else
chkpost=True
end If
end function
Select Case
Si vous souhaitez sélectionner l'un des multiples ensembles de codes à exécuter, vous pouvez utiliser l'instruction SELECT :
Copiez le code comme suit :
select case payment
case Cash
msgbox Vous allez payer en espèces
cas Visa
msgbox Vous allez payer avec
cas visa AmEx
msgbox Vous allez payer avec
cas American Express Autre
msgbox Mode de paiement inconnu
fin
Comment fonctionnele
code de sélection ci-dessus : Tout d'abord, nous avons besoin d'une expression simple (généralement une variable), et cette expression sera évaluée une fois. Ensuite, la valeur de l'expression est comparée à la valeur de chaque cas, et s'il y a une correspondance, le code correspondant au cas correspondant est exécuté.