gifts2017

1С: Предприятие 8.3 / Определение IP адреса веб-клиента.

Опубликовал vit59 (vit59) в раздел Программирование - Практика программирования

Определение IP адреса веб-клиента на стороне веб сервера, с использованием default.aspx на С#.

Режим клиент-сервер MS SQL.

Публикация на IIS 7.5

.Net  вер 4.0

Код asp страницы (default.aspx):

<%@ Page Language="C#" %>

<!DOCTYPE html>
<script runat="server">

    protected void Page_Load(object sender, EventArgs e)
    {
        var ClientIP = Page.Request.UserHostAddress;
        launchparameter.Value = ClientIP;
    }
        
</script>


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        #launchparameter {
            height: 22px;
        }
    </style>
</head>
<body>
    <form id="form1" action="https://xx.x.x.x:444/1C83Testing/e1cib/start" method="post" runat="server">
        Имя пользователя:
             <input id="usr" type="text" runat="server" />
        <p>
            Пароль:
             <input id="pwd" type="password" runat="server" />
        </p>
        <p>
            Ваш IP адрес:
             <input id="launchparameter" type="text" readonly="true" runat="server"  />
        </p>
        <input type="submit" value="OK" runat="server" />
    </form>
    <p>
    </p>
</body>
</html>

где launchparameter - доступен в модуле приложения как ПараметрЗапуска.

В модуль приложения развернутой на web-сервере базы 1С нужно добавить:

Процедура ПередНачаломРаботыСистемы(Отказ)
   
    ТекПользователь=ОбщийМодульСервер.ПолучитьТекПользователя();
      
    Если ЗначениеЗаполнено(ПараметрЗапуска) Тогда
        ПоказатьОповещениеПользователя(ПараметрЗапуска , , ТекПользователь, БиблиотекаКартинок.КомпьютерКлиент );
    Иначе
        ПоказатьОповещениеПользователя("Параметра запуска нет.", , ТекПользователь, БиблиотекаКартинок.КомпьютерКлиент );
    КонецЕсли;
     
КонецПроцедуры

В IIS создается приложение Start1C, туда кидается файл default.aspx и все.

Файл web.config:

<?xml version="1.0"?>

<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->

<configuration>

    <system.web>
      <compilation targetFramework="4.0" />
    </system.web>

</configuration>

Буду рад, если кому-то окажется полезным.

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Ловыгин Антон (wunderland) 24.06.15 11:49
Очень интересно. При случае обязательно попробую. В свое время искал как это сделать, но безрезультатно...
2. Петр Вел (shmellevich) 24.06.15 14:13
Для почитателей Apache+PHP все сводится к одному файлу index.php:
            Ваш IP адрес:
             <input id="LaunchParameter" type="text" readonly="true" value="<?=$_SERVER['REMOTE_ADDR']?>"  />


Это место которое отличается от авторского для получения IP клиента