Как на Web-странице из функции на JScript присвоить значение полю которое объявлено как ASP.Net? Поле типа <asp:TextBox id="txtComputer">
Суть задачи - JScript код на стороне клиента должен присвоить ASP-шному полю имя локального компьютера (для дальнейшей передачи на сервер). Значение Request.HostName на сервере не подходит, т.к. имя как-то заменяется на имя компа прокси-сервера (работает нормально только в локальной сети).
Присвоить значение полю
>Значение Request.HostName на сервере не подходит
Посмотри ВСЕ передаваемые переменные окружения на сервер. Там есть переменная "IP до прокси-сервера". вот эту пару и юзай.
Посмотри ВСЕ передаваемые переменные окружения на сервер. Там есть переменная "IP до прокси-сервера". вот эту пару и юзай.
Посмотрел, но ничего такого не нашёл.
На вскидку: в REMOTE_ADDR - прописывается IP прокси, в HTTP_FORWARDED_FOR -IP адрес посетителя (анонимные прокси не прописывают), HTTP_VIA - имя прокси или его IP. Вроде бывают и другие заголовки, но для большинства прокси тебе и этого хватит. Подробности см. в соответствующем RFC.
Даже самый дурацкий замысел можно воплотить мастерски
- Oscar
- Сообщения: 963
- Зарегистрирован: 29 май 2004, 13:44
- Откуда: Мюнхен (рожден в Киеве)
- Контактная информация:
Chizh,
JScript работает на стороне клиента,
ASP, насколько я знаю (мало знаком), - на сервере.
Для наглядности представь длиннющий провод, который натянутый между ними.
На JScript НЕЛЬЗЯ присвоить значение полю в ASP.
Но! Можно передать через HTTP-Protokol, для этого: определяешь имя локального компьютера на JScript на одной странице - и загружаешь вторую страницу, передавая ей это значение.
client.html (+JScript) -> server.asp?localIP=FROM_JSCRIPT
То, что имел ввиду UUU это поле в HTTP хэдере: X-Forwarded-For
Если прокси прозрачный - оно будет заполнено реальным (локальным) IP. Но спешу разочаровать, большинство прокси, насколько мне известно, не прозрачные и рассчитаны на то, чтобы эта информация была недоступна.
И ещё одна "радостная" новость: Если я не ошибаюсь JScript обычно выдаёт локальный IP - как адрес localhostа, то есть 127.0.0.1 , для всех компьютеров.
Если я чего-то напутал, - пусть знающие меня исправят.
Если всё же найдёшь способ - напиши, плиз, сюда как?..
JScript работает на стороне клиента,
ASP, насколько я знаю (мало знаком), - на сервере.
Для наглядности представь длиннющий провод, который натянутый между ними.
На JScript НЕЛЬЗЯ присвоить значение полю в ASP.
Но! Можно передать через HTTP-Protokol, для этого: определяешь имя локального компьютера на JScript на одной странице - и загружаешь вторую страницу, передавая ей это значение.
client.html (+JScript) -> server.asp?localIP=FROM_JSCRIPT
То, что имел ввиду UUU это поле в HTTP хэдере: X-Forwarded-For
Если прокси прозрачный - оно будет заполнено реальным (локальным) IP. Но спешу разочаровать, большинство прокси, насколько мне известно, не прозрачные и рассчитаны на то, чтобы эта информация была недоступна.
И ещё одна "радостная" новость: Если я не ошибаюсь JScript обычно выдаёт локальный IP - как адрес localhostа, то есть 127.0.0.1 , для всех компьютеров.
Если я чего-то напутал, - пусть знающие меня исправят.
Если всё же найдёшь способ - напиши, плиз, сюда как?..
У меня интранет из двух сеток, соединённых по VPN через Microsoft ISA. Можно ли настроить ису на "прозрачность"?Oscar писал(а):Если прокси прозрачный - оно будет заполнено реальным (локальным) IP.
Получилось так:Oscar писал(а):Если всё же найдёшь способ - напиши, плиз, сюда как?..
<SCRIPT LANGUAGE="JScript">
function OnLoad()
{
var WshNetwork = new ActiveXObject("WScript.Network")]