Раньше мне казалось, что в Request.ServerVariables много значений, но сейчас я вижу, что их еще так много, но сегодня я расскажу об одном из значений — HTTP_Referer и в чем разница между Server_Name и Http_Host в Request.ServerVariables?
Я просто запустил кусок кода, чтобы посмотреть, сколько значений в Request.ServerVariables, посмотрел на него и нашел всего 50!
Код<%=Request.ServerVariables.count%>
Раньше мне казалось, что в Request.ServerVariables много значений, но сейчас я вижу, что их еще так много, но сегодня я расскажу об одном из значений ---- HTTP_Referer
Прежде всего, мы знаем, что наиболее часто используемое применение HTTP_Referer — предотвращение внешних отправок.
В следующих ситуациях Request.ServerVariables(HTTP_REFERER) обычно получается из адресной строки браузера:
1) Используйте <a href=> напрямую
2) Форма отправлена с помощью Submit или <input type=image> (POST или GET).
3) Отправка формы с использованием JavaScript (POST или GET)
Давайте рассмотрим ситуацию, когда Request.ServerVariables(HTTP_REFERER) не может нормально принять значение:
1) Ссылка из избранного
2) Нажмите на домашнюю страницу или индивидуальный адрес.
3) Введите адрес прямо в браузере.
4) Используйте JavaScript Location.href или Location.replace().
5) <%Response.Redirect%>
6) перенаправление <%Response.AddHeader%> или <mete http-equiv=refresh>
7) Загрузить адрес с помощью XML
Очевидно, что Request.ServerVariables(HTTP_REFERER) в большинстве случаев работает неправильно. Я подробно расскажу о его конкретном использовании в будущих статьях, а также расскажу о различиях между Request.ServerVariables(HTTP_HOST)Request.ServerVariables(SERVER_NAME).
Следите за обновлениями!
В чем разница между Server_Name и Http_Host в Request.ServerVariables?
Если вы не присмотритесь, вы не сможете заметить разницу между ними. Я много искал в Интернете, но так и не понял, но в конце было очень четкое предложение: Http_Host может запрашивать Server_Port, отличный от 80. Проще говоря, Http_Host=Имя_Сервера:Порт_Сервера.
Ранее я уже публиковал статью о роли Http_Referer, а теперь объединим ее для написания функции ASP, которая предотвращает отправку данных извне.
Скопируйте код следующим образом: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) ) <>server_v2 тогда
chkpost=False
else
chkpost=True
end If
end function
Select Case
Если вы хотите выбрать один из нескольких наборов кодов для выполнения, вы можете использовать оператор SELECT:
Скопируйте код следующим образом:
выберите случай платежа
случай Cash
msgbox Вы собираетесь оплата наличными
Case Visa
msgbox Вы собираетесь заплатить с помощью Visa
Case AmEx
msgbox Вы собираетесь заплатить с помощью American Express
Case Else
msgbox Неизвестный методзавершения
платежа
Как работает приведенный выше кодвыбора
: во-первых, нам нужно простое выражение (обычно переменная), и это выражение будет оценено один раз. Затем значение выражения сравнивается со значением в каждом случае, и при наличии совпадения выполняется код, соответствующий совпавшему случаю.