• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Добавление аттачментов в документ

  • Автор темы lionk
  • Дата начала
L

lionk

Тема обсуждалась много раз и почти везде,
но немогу удержатся и пофлужу немного (простите админы :) )

Задача:
дуальная база (открывается с веба и с клиента),
одно из функциональных назначений сбор документов(вордовский файлик),
транспортировка (соданый док с вложением видят два чела, адресат и адресант, находящиеся в разных точках города)

понятно что работа с аттачментами должна быть комфортной.

формы веб и клиентские должны быть максимально схожи, а как известно в вебе файл аттачится через fileupload а в клиенте разными методами (собаками или лотусскрипт) в RichText поле.
и документ созаный в вебе с атачем в клиенте открывается с добавлением горизонтальной полоски под которой и лежит файлик атачмент.
скреативлений в лотусе документик с атачем в вебе можно считать только если сгенерить сылку (а её непонятно как генерить бо неизвестно де лежит файлик, хотя логику придумать можно)
можно ещё конечно пререраспредилять атачмент после сохранения дока в вебе и ложить его в ричтекс, но я-дмин, себе-програмеру запретил это метод так как он требует промежуточной записи файлика на серваке что непозволительно с ракурся информационной безопастности.

праскинув мозгами, с помошю привязаной к голове гранаты я зделал такое
с веба файл аплодится стандартно через fileupload, после сохранения док переоткрывается и сылку на атачмент формирую
Код:
out:="";
att:=@AttachmentNames;
@For(n := 1;n <=@Attachments;n := n + 1;
out:=out+"<a href=\"/"+@WebDbName+"/0/" +@Text(@DocumentUniqueID)+"/$file/"+att[n]+"\" class=\"date\" target=\"_blank\">"+att[n]+"</a>");
@If(@IsNewDoc;"";out)

появившуюся внизу картинку атачмента скрываю <div style="visibility: hidden;font-size: 0px;" id="xxx">

в лотусе же файл добавляю
Код:
Dim ws As New NotesUIWorkspace 
Dim rtitem As NotesRichTextItem
Dim object As NotesEmbeddedObject
Dim filename As Variant 
Set rtitem = New NotesRichTextItem( doc, "$file" )
filename = ws.OpenFileDialog(False, "Оберіть документ",, "")
If Not(Isempty(filename)) Then
Set object = rtitem.EmbedObject 	( EMBED_ATTACHMENT, "", filename(0))
Call Doc.ReplaceItemValue ("attname",filename(0))
End If
и он после переоткрытия в клиенте (кстати это можно както побороть) отображаетс я снизу документа как атач который можно удалить сохранить посмотреть, и онже открывается в вебе со всем удобством.

что прикольно после переоткрытися $file появляется в двух видах как ричтекс и как атачмент, а при обращении всегда отдаёт файл(аттачмент)

вот такой флуд...
 
S

Sandr

Чет я не понял, а вчем вопрос? Или это был пример?
 
Мы в соцсетях:

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