?openfield

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

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
Есть такая замечательная недокументированная команда на вебе ?openfield. Открывается как-то так
Назначение конкретных прав в $Readers на док требует авторизации — тут все верно, а вот как скрыть Анонимусу доступ к полю, если к доку у него доступ есть? Правило замены URL на сервере не помогло.
 
Последнее редактирование:
  1. Шифрануть.
  2. Использовать запрещенные имена полей :)
 
Последнее редактирование:
  • Нравится
Реакции: NetWood
Да, пожалуй, это самое джедайское решение. Поля как-то не зашли.

Но с шифрованием свои бубны. Чет у меня с одним ключом шифруется норм по WQS, Call ctx.ReplaceItemValue("SaveOptions" ,"1") (Ключ указан на форме, на поле шифровать, без скрипта). А с другим нет. Ключ в учетке сервера должен быть? Не помню как я рабочий ключ на сервер подключал.

Расшифровываем вообще ломом. Бывает надо отправить и пр. Нигде особо не написано. На тексте это работает, но если в зашифрованном RTF поле были файлы — им капец.
Код:
Sub Click(Source As Button)
    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument 
    Dim db As NotesDatabase
 
    Set uidoc = workspace.CurrentDocument
    Set doc = uidoc.Document
 
    Call RemoveSeal(doc) 
 
End Sub
Function RemoveSeal(doc As NotesDocument)
    'doc.tmp_x = "1" 'Modify the doc
    'Call doc.Save(True,False) 'Save without encryption

    While doc.HasItem("$Seal") 'Remove all the $Seal
        Call doc.RemoveItem("$Seal")
    Wend

    Print "Удалено шифрование документа. RemoveItem Seal. При пересохранении зашифруется повторно."

    Call doc.save(True,False)
End Function
 
Последнее редактирование:
В общем, слегка поколов дрова с шифрованием решил сделать поле+ID=не найдешь.

Да, шифрование работает. Да, надо ключ вкладывать в учетку сервера под клиентом. Да, шифрует весь док, но надо снимать флаги с остальных полей как-то так
Код:
            If Not orderdoc Is Nothing Then
                'The below loop is mandatory to ensure that all $File entries are unecrypted
                Forall i In orderdoc.items                   
                    If i.isencrypted Then
                        i.isencrypted=False
                    End If                   
                End Forall
                'Must have at least 1 field encrypted in order to call Encrypt method
                Set item = orderdoc.GetFirstItem( "Body" )
                item.IsEncrypted = True
                orderdoc.EncryptionKeys = "Skey"
                Call orderdoc.encrypt
                Call orderdoc.save(True, False)
                'This portion can now remove the fields relative to encrypting the
                'single token encrypted field.
' https://www-01.ibm.com/support/docview.wss?uid=swg21089495 но удаление полей ниже  убивают и Body
'                Call orderdoc.removeitem("$Seal")
'                Call orderdoc.removeitem("$SealData")
'                Call orderdoc.removeitem("SecretEncryptionKeys")
'                Call orderdoc.removeitem("Encrypt")
               
                Call orderdoc.save(True, False)
Но потом с этими ключами из-за одной сущности и бороться или грабли какие... И при пересохранении дока в Notes опять все поднимать.
 
А приложение сумеет продолжить работу, если в Database properties box выбрать "Don't allow URL open." ?
 
А приложение сумеет продолжить работу, если в Database properties box выбрать "Don't allow URL open." ?
База закроется от URL вся. Андер констракшон. Эффект сродни соседней галки SSL, если он не поднят. На task http не повлияет
 
У меня FP8 при попытке получения значения поля, содержащего "$", возвращает: Error 501 - HTTP Web Server: Function Not Implemented Exception.
 
Мы в соцсетях:

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