• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Расширение функциональности Web контроллеров. Часть 2

  • Автор темы NikSoft
  • Дата начала
N

NikSoft

Рассмотрим доступ к ассамблее CheckBoxNik.dll посредством URL. Ресурсы, вложенные в ассемблею, могут быть доступны посредством WebResource.axd HTTP хэндлера (hanler) , доступ к которому может быть осуществлен посредством следующего URL:

Код:
http://site/ WebResource.axd?d=assembleyKey&t=date…

где assembleyKey – закодированная строка с именем ассамблеи, содержащая ресурс;
date – время последней модификации ассамблеи.
Хэндлер WebResource.axd возвращает содержимое ресурса. По умолчанию ресурсы, вложенные в ассамблею, не могут быть доступны через WebResource.axd хэндлер. С целью указания того, что ресурс может быть доступен, необходимо добавить следующую строку в файл AssemblyInfo.cs( находящийся в поддиректории Properties проекта CheckBoxNik )

Код:
[assembly: WebResource("CheckBoxNik.JavaScript.js", "text/javascript")]

Первый параметр строки указывает имя ресурса и должен иметь следующую структуру: RootNamespace.PathToFile. Второй параметр указывает MIME тип ресурса. Когда браузер запрашивает внешний ресурс он делает отдельный HTTP запрос к Web серверу. MIME тип указывает браузеру тип возвращаемых данных. В нашем случае "text/javascript". Нам осталось написать код, генерящий соответсвующий URL для вложенного ресурса. Для этого используем метод GetWebResourceUrl(type, webResource)класса ClientScriptManager. В нашем случае мы имеем следующий код:

Код:
Page.ClientScript.GetWebResourceUrl(this.GetType(), "CheckBoxNik.JavaScript.js")

Код,приведенный в функции OnPreRender,добавляет к HTML текст, аналогичный приведенному в нижеследующем фрагменте:

Код:
<script src="/Costupdate/WebResource.axd?d=YHGnQVKQhfy87NAy-V-TRA2&t=632970991192343750" type="text/javascript"></script>

Браузер, при обработке данного кода, делает запрос к WebResource.axd HTTP хэндлеру, который извлекает вложенный ресурс ( в нашем случае Java script ) и шлет его браузеру.
Я привел пример расширения Web контроллера, используя только Java script. На практике в ассамблею можно вложить такие ресурсы как CSS файлы, графические имиджи, HTML файлы.
 
K

karlito

Ничо не понял. Любое решение должно решать некую проблему. Какую проблему ты решал?

Что такое ассамблея? Есть замечательная книга Hacking Code, которую я прочитал сразу в оригинале, а потом решил перечитать, но уже в печатном издании и на русском. Гневное письмо от расстроенного читателя ушло потом в русскую редакцию, такое ощущение, что учитель географии в деревне её переводил со словариком 45 года, добытого под Берлином. Мораль басни проста. Не надо придумывать своих слов - всё давно придумано.

Для: NikSoft
В целом идея понятна. Что-то новое даже для себя узнал. Но был бы моложе ничего не понял бы. Посмотри со стороны на то что написал.
 
N

NikSoft

Для: karlito
Посмотри на заголовок:
Расширение функциональности Web контроллеров. Часть 2
Это продолжение 1ой части
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!