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

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

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

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

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

Lotus Sandbox

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
Поскольку нехорошие дяди на IBM песочницу закрыли, а хорошие выложили и link removed база была скачена и изучена.
Ахтунг 1.6Gb в архиве!

В ней какие-то кривые руки . Как настоящих джедаев нас такая ситуация не устраивает никак, особенно на таком объеме полезных данных. Починим.

Начнем с установки. По умолчанию база открывается по web линку как хост/ldd/sandbox.nsf Если вы записали ее в другую папку, то сделайте сопоставление Url to Url /ldd/ to /ваша папка/ . Это во вью сервера кнопочка есть. И протрите стекла te http restart. Теперь все "левые" урлы будут на правильном пути :) Кстати это способ позволяет скрыть .nsf базы в урле вообще, но надо делать дизайн сразу под это, иначе потом исправлять муторно.

Далее чиним поиск с заглавной страницы. По непонятной причине на форме Download Page отсутствует поле $$Return. Создаем его скрытым от WEB, также как SaveOptions=0
в $$Return пишем
Код:
REM {If nothing to search for return to search form!};
@If(@Trim(Query)=""&@Trim(SearchQuery)=""; @Return("[/"+@WebDbName + "/DownloadPage?OpenForm]");"");

SearchView:="Search";

CritBasic:=@If(Query=""; ""; @URLEncode("Platform";Query));
CritSubject:=@If(Subject="";""; "[Subject]co(\""+@URLEncode("Platform";Subject)+"\")");
CritPseudo:=@If(Pseudo="" | Pseudo="null";""; "[Pseudo]co(\""+Pseudo+"\")");

CritDateBegin:=@If(DateBegin="";""; "[Created]>="+DateBegin);
CritDateEnd:=@If(DateEnd="";""; "[Created]<="+DateEnd);

CritCat:=@If(Category="";""; "[Category]co(\""+@URLEncode("Platform";Category)+"\")");

Crit:=@Implode(@Trim(CritBasic:CritSubject:CritPseudo:CritDateBegin:CritDateEnd:CritCat); "+AND+");

"["+@WebDbName+"/"+SearchView+"?SearchView&Query="+Crit+"]"
Далее в табличке ищем кусок HTML с полем text и картинкой поиска. По сабмиту там стоит newchecksearch() которое нигде не находится. Можно это заремить или удалить вовсе. Джедайское поле для поиска должно иметь имя Query. Там вставляем кусок HTML
Код:
<script>document.write(text_searchmaincriteria)</SCRIPT>
<br>[поле Query] 
<script>document.write("<INPUT TYPE=SUBMIT VALUE=\"Search\" CLASS=\"inputbutton\" STYLE=\"width: 20%\"")</SCRIPT><BR>
Индексируем песочницу и наслаждаемся поиском с заглавной страницы.

to admin/ Я не поместил этот пост в раздел FAQ потому что считаю его бесполезным. Этих разделов и так развелось много. Все равно все ломятся сюда. Хорошо что "для избранных" удалили...
 

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
Далее. Стили этой базы грузятся напрямую с IBM :)
<link rel="stylesheet" type="text/css" href="//www.ibm.com/common/v14/main.css" />
<link rel="stylesheet" type="text/css" media="all" href="//www.ibm.com/common/v14/screen.css" />

Велика вероятность, что их тоже грохнут. Поэтому вкладываем их страницами с теми же названиями в дизайн базы и правим ссодержимое заголовка HTML форм. Фалики приложены.
"<link rel=\"stylesheet\" type=\"text/css\" href=\"main.css\" />"+@NewLine+
"<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"screen.css\" />"

Кстати поверхностное изучение дизайна наводит на мысль по какой причине ее грохнули. Уж слишком там много надо править под новые маркетинговые концепции, слишком много написано "линейно", а время дороже. Проще грохнуть и всех в эклипс.
 

Вложения

  • SandboxCSS.zip
    4,8 КБ · Просмотры: 317
H

hosm

офф(потом почищу): тему закрепить тут хоть дашь?))) а то вот я ща, например, не могу себе позволить на ноут скачать гиг базы и потом править - нет тут ни лотуса, ни лишнего места.

Добавлено: просто я вот только что боялась, что тема вообще потеряется, даже скопипастила и продублировала себе...
 

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
В общем отремонтировал что можно. Поиск работает во всех формах. Немного поправил нафигацию. Факультативно восстановил камменты к топикам и создание топиков.

Выложить все это возможности пока нет ибо провайдер меня по головке не погладит, а шаблон дам правленый как есть. То бишь надо будет скачать базу по ссылке, накатить на нее шаблон и пользоваться. Для начинающих на WEB пойдет в самый раз. Всякие новомодные Xpage там не используются и я сам не пользуюсь.

Приаттачил шаблон. Многое там на скорую руку. Для новых постов была форма /ldd/sandinbox.nsf/websub?openform&login, но она похерена вообще <_< - слепил из того что есть. Такое впечатление, что перед тем как базу "выпустить" на нее накатили какой-то старый шаблон. Урезанный.

Йо. Стили не поправил - забыл - так и грузятся с IBM, но зато почикал агрименты эти дурацкие. Теперь сразу кнопочка download активна.
 

Вложения

  • sandbox_ntf.zip
    442,9 КБ · Просмотры: 493

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
По состоянию на октябрь 2012 года мне известна одна ссылка на старый Сандбокс на банане.
Там по-прежнему не работает поиск :( по базе.

Исправляем это недоразумение линком на Lotus Sandbox 1999-2007 с работающим поиском!
Бонусом открыт секретный линк IBM Only
 

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
Прибрался немного. Теперь песочница будет доступна по постоянному адресу

Кстати, там есть справа тизер Resources. Если у кого есть туда желание добавиться по теме или разместить полезный линк - велкам.
Абсолютно безвозмездно -_-
 

Xomyak

Member
10.06.2008
21
0
BIT
0
Прибрался немного. Теперь песочница будет доступна по постоянному адресу

Кстати, там есть справа тизер Resources. Если у кого есть туда желание добавиться по теме или разместить полезный линк - велкам.
Абсолютно безвозмездно :)


Спасибо тебе огромное!
 

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
По случаю юбилейного десятилетнего закрытия песочницы :), задумал я обновить его каким-нибудь вкусным шаблоном и, заодно, оживить здешнюю прикрепленную ветку. И получилось у меня Demo сайта под Lotus Domino с адаптивным и мобильным дизайном с примером автоматической подгрузки ричтекстового содержания наподобие Твиттера и Вконтактика.

Untitled10.jpg
.

Demо доступно по адресу
About this Demo
About this Demo Design
About this Lotus Domino Template
Скачать шаблон базы со всеми потрохами можно из вкладки Download меню .

Подробнее об этой базе
Наткнулся я как-то на Хабре на и решил его портировать на платформу Lotus Domino. Сама статья с адаптивным дизайном немного лохматого 2011 года, но актуальность имеет и по сей день. Заодно, захотелось повысить свои скилы и разобраться как это все работает, тем более что с шаблонами сайтов на Domino с современным дизайном в интернете ситуация обстоит чуть лучше чем никак. В процессе работы над шаблоном Остапа понесло и кроме web дизайна на базу Domino были натянуты примеры работы с любимым мной jQuery и еще много всякого вкусного. Xpage я не понимаю, также как не работаю в эклипс-монстрах Notes 8 и Notes 9. Считаю, что все это прекрасно можно заменить, например на jQuery, тем паче, что примеров по нему в интернетах более чем достаточно…

Итак, что же получилось:
1. Пример работы сайта под Lotus Domino с адаптивным и вполне современным кругленьким дизайном на экранах с разным разрешением. . Некоторые элементы дизайна были допилены по ходу дела.
2. Пример по сайту. Для работы поиска базу надо проиндексировать в Notes. Количество найденных страниц склоняется на русском языке, например: 1 страница, 5 страниц, 22 страницы.
3. Известно, что Lotus не умеет выводить содержимое RichText полей во View, поэтому сделан пример конвертации RT поля в HTML и показа оного в представлении - .
4. Подключен jQuery и в представлении View by Doc RT to HTML сделана динамическая подгрузка страниц через AJAX.
5. Решение по п.4 позволило пойти дальше и в представлении сделана уже динамическая подгрузка в представление содержимого RichText поля наподобие Вконтактика или Твиттера. Все, что есть в RT поле – картинки, текст, таблицы, — выводится совершенно без проблем. При прокрутке скролла мыши вы получаете бесконечную страницу, пока документы не закончатся. Пожалуй, это самый вкусный пример в этом шаблоне. Подробнее о нем вот .
6. По ходу дела добавлен плагин FansyBox для показа раскрывающихся картинок в большем разрешении на .
7. На стартовую страницу добавлен , динамически подгружающий три разные картинки из документов со ссылками на эти страницы.
8. Небольшие удобства внутри базы для SEO контента вывода meta descriptions, keywords и проверки имени страницы базы на уникальность. База имеет сложное вычисляемое поле $$HTMLHead в общей подформе CommonFields для веб форм и загрузку Download последней доступной версии через скрипт с редиректом на форме. Линк берется из последнего документа Revision.
9. Формулы с необходимым расширением и показом их количества или вывод как картинок, например, ембеднутые объекты в RT полях содержатся как аттачи и их надо отсекать.
10. Общий подход для разработки сайтов под Lotus Domino на примере разных форм и представлений для клиента Notes и WEB, который будет полезен для новичков и для опытных программистов как .

В целом, получилась неплохая рыба Lorem ipsum dolor в виде базы webdesign.nsf для построения простых документальных сайтов под Lotus Domino с вполне современным адаптивным дизайном и удобными функционалом. Хочу обратить внимание, что я не профессиональный программист и все делалось из академического интереса. Как это будет работать на вашем мобильнике можете проверить . Лицензия базы — . Если кто захочет сказать спасибо, то это можно сделать при помощи волшебной кнопочки Donate в сайдбаре меню About :).

Enjoy!
 

Вложения

  • Untitled7.jpg
    Untitled7.jpg
    101,9 КБ · Просмотры: 686
  • Untitled8.jpg
    Untitled8.jpg
    85,3 КБ · Просмотры: 648
  • Untitled9.jpg
    Untitled9.jpg
    51,4 КБ · Просмотры: 297
  • Untitled11.png
    Untitled11.png
    41,5 КБ · Просмотры: 471
Последнее редактирование:

rinsk

Lotus Team
12.11.2009
1 151
125
BIT
3
5. Решение по п.4 позволило пойти дальше и в представлении сделана уже динамическая подгрузка в представление содержимого RichText поля наподобие Вконтактика или Твиттера.
Круто - мне понравилось!)
Есть только заковыка в том, что при $.get("doMemoLoad?OpenView&start="+$('#loaded_max').val()+"&count=1", //Load RT Memo from
при $('#content').append(loaded)
в DOM документа пихается все с <html> по </html> вместе с <body> и т.п..
что некоторые браузеры могут не переваривать имхо.
 

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
при $('#content').append(loaded)
в DOM документа пихается все с <html> по </html> вместе с <body> и т.п..
что некоторые браузеры могут не переваривать имхо.
Наверное это IE :). Испытывал на Фоксе, Опере, Хроме, Ондроеде и Ойфоне - все работает. Картинки большие, да. Могут не грузиться на плохой связи.
По IE пока не понимаю как прикрутить в html на форме загружаемый именно для него костыль типа
Код:
<!-- html5.js for IE less than 9 -->
<!--[if lt IE 9]>
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- css3-mediaqueries.js for IE less than 9 -->
<!--[if lt IE 9]>
    <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
<![endif]-->
Он из этого примера выпилен.
 

rinsk

Lotus Team
12.11.2009
1 151
125
BIT
3
Я просто выкусывал промеж <body></body> и вставлял в DOM. Было какая то проблема без этого с адресацией элементов там...
 
  • Нравится
Реакции: NetWood

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
Я просто выкусывал промеж <body></body> и вставлял в DOM
Спасибо за подсказку. Да, с выгрызанием боди будет правильнее. Переписал вот так и load и get. И подгружаться стало субъективно быстрее.
Код:
//Get only data body content in <body ...><form action="">content</form></body>
function getbodycontent(data,start,stop) {
    //alert(data);
    return data.substring(data.indexOf(start)+start.length,data.indexOf(stop));
};
$.get("doMemoLoad?OpenView&start=1&count=2",     //Load RT Memo from Lotus Domino View preloaded as function doAjax(id,url) in Form $$ViewTemplate for doMemoLoad
        function(data){      
        var $body = getbodycontent(data, '<form action="">','</form>');
            $('#content_load').append($body).fadeIn();    //Load content to id='content'
          }
    );
});
 
Последнее редактирование:

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
Други!
Lotus Sandbox (1999-2007) - переехал на

Соответственно, демки:
 
Последнее редактирование:
  • Нравится
Реакции: lmike и rinsk
Мы в соцсетях:

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