Динамический вызов файлов JS для загрузки в классическом приложении asp - чего добивался наш разработчик? - PullRequest
1 голос
/ 02 июня 2011

Я недавно занялся разработкой классического приложения ASP после того, как ушел единственный разработчик проекта.Ниже приведен фрагмент кода, который, на мой взгляд, я не могу извлечь из пользы, может, некоторые из вас, более опытные парни и девушки, могли бы пролить свет на логику?

В разделе заголовканашей страницы default.asp код вызывает другую страницу asp с параметром для загрузки / включения некоторых файлов.Эта страница asp читает параметр и затем выбирает массив файлов.Затем он проходит через этот массив и для каждого объекта в массиве выполняет следующую функцию:

Sub SendFile(ByRef sFilename)
    If Len(sFilename) = 0 Then
        Exit Sub
    End If

    If IsEmpty([__SendFile_sSuffixCompressed]) Then
        [__SendFile_sSuffixCompressed] = ".js"
    End If

    If IsEmpty([__SendFile_fso]) Then
        Set [__SendFile_fso] = Server.CreateObject("Scripting.FileSystemObject")
    End If

    Dim sPath
    sPath = Server.MapPath(sFilename)
    Dim stream
    Dim sData
    Set stream = Server.CreateObject("ADODB.Stream")
    Response.Write sPath
    With stream
        .Charset = "utf-8"
        .Type = 2
        .Open
        .LoadFromFile sPath
        sData = .ReadText
        .Close
    End With

    OurResponse.Write sData
End Sub

Я бы подумал, что это будет способ динамической загрузки этих файлов, но не так либыло бы намного проще просто иметь условный IF-блок вокруг нормальной строки <script src"...>?

1 Ответ

0 голосов
/ 02 июня 2011

Строка <script src"...> будет загружать сценарий с действительного URL-адреса, но, возможно, это способ для веб-приложения включить на сервер файлы сценариев, которые в других местах файловой системы не доступны напрямую через общедоступный URL-адрес?

Я не уверен, почему вы захотите сделать это, потому что можно все же вызвать эту страницу ASP с общедоступного URL-адреса, чтобы получить сценарии, так что это действительно не принесет вам безопасности, просто запутывание.

Я лично большой поклонник удаления кода, когда это возможно. Попробуйте заменить эту функцию условным тегом сценария, как вы упомянули в среде разработки, и проверьте наличие изменений. Если у них есть какие-то скрытые причины этой чепухи, тогда вы сможете найти их.

...