Форум программистов, компьютерный форум, киберфорум
Проекты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
0 / 2 / 0
Регистрация: 17.02.2021
Сообщений: 54

Онлайн сервис - "NotePad"

22.02.2021, 11:38. Показов 4596. Ответов 49

Студворк — интернет-сервис помощи студентам
Пишу онлайн сервис - "NotePad". Не могу определиться с функционалом. Нужна помощь, ибо есть такие идеи, которые наверно выходят за рамки закона А именно: Хочу позволить пользователю открывать страницы по URL, а точней выкачивать HTML страницу и предоставлять её пользователю для взаимодействия с помощью javascript.

Предусматривается 2 рабочих окна: В первом страница с запрашиваемым URL, а во втором - блокнот (текстовое поле), в котором можно написать скрипт и, работать со сторонними ресурсами. Как вариант, если страницы можно будет выкачивать, - добавить опцию: Создать свою "кнопку". То есть пользователь сможет писать свой набор инструментов (типа - парсеры, калькуляторы и т.п.) и сохранять для дальнейшей работы.

Как и в обычном блокноте, можно будет писать всё что угодно, вплоть до создания своих страниц HTML, которые будут хранится на сервере и, при желании, будут доступны для индексирования поисковыми роботами. На этом пока-что пожалуй всё.

Вопрос: На сколько законно выкачивать страницы, если их нельзя будет сохранять? Понятное дело, частота запросов будет лимитирована. Да и вообще: Нужна ли такая опция?)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.02.2021, 11:38
Ответы с готовыми решениями:

Ищу разработчика в стартап: онлайн сервис "Дневник учёта времени помогает планированию"
Ищу партнёра - разработчика для стартапа: программа и онлайн сервис "Дневник учёта времени планированию". Программа должна...

Онлайн сервис скриншотов сайтов
Стоит ли говорить, как важно при разработке сайта тестировать его не только в разных браузерах, но и на разных устройствах. Всего диапазона...

Сервис продажи билетов онлайн
Сайт на Друпале, рыба накидана. Суть - международный театральный фестиваль, запланированный на май в Пущино (Московская область). Необходим...

49
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
22.02.2021, 13:11
Если вы хотите закачивать чужой url в frame, а потом что то с ним сделать то у вас ничего не получится. Даже скриншот frame через javascript не сделать. Атака называется межсайтовый скриптинг. Все дыры в браузерах давно пофиксены. Большинство сайтов даже в iframe закачку заблочило.

Если использовать свой сервак в качестве прокси - то проблем там тоже гора. Многие сайты с такими прокси умело борятся.
0
0 / 2 / 0
Регистрация: 17.02.2021
Сообщений: 54
22.02.2021, 14:32  [ТС]
Цитата Сообщение от developer123 Посмотреть сообщение
Если вы хотите закачивать чужой url в frame
Я хочу закачивать на сервер во "временную память", и представляться сайтам как пользователь, который осуществляет этот запрос (на сколько это возможно...).
Цитата Сообщение от developer123 Посмотреть сообщение
Если использовать свой сервак в качестве прокси - то проблем там тоже гора. Многие сайты с такими прокси умело борятся.
Планируется передавать в RequestProperty данные этого пользователя, чтоб он мог взаимодействовать с муляжом запрашиваемого URL, а не с реальным сайтом.
0
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
22.02.2021, 20:08
Цитата Сообщение от 1name Посмотреть сообщение
Планируется передавать в RequestProperty данные этого пользователя
Как вы куки будите передавать? Или javascript storage? Некоторые сайты делают 100500 всяких редиректов на всякие авторизационные серверы. Плюс сама страница может статику закачивать опять же со 100500 мест. И опять же хранить всякие промежуточные ID на серверах. Всякие спамеры научились даже в tls рукопожатиях хранить данные.

Честно говоря не понятно зачем это всё.
0
0 / 2 / 0
Регистрация: 17.02.2021
Сообщений: 54
22.02.2021, 21:20  [ТС]
Цитата Сообщение от developer123 Посмотреть сообщение
Как вы куки будите передавать?
Если честно, то пока не думал над этим вопросом...
Цитата Сообщение от developer123 Посмотреть сообщение
Честно говоря не понятно зачем это всё.
Поэтому я и поставил вопрос таким образом, чтоб правильно определить целесообразность, и вы на него ответили
Цитата Сообщение от developer123 Посмотреть сообщение
Многие сайты с такими прокси умело борятся.
за что вам отдельное - спасибо. Не буду тратить на это время.

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

Зачем это надо? - Такая надобность возникает, например, когда изучаешь какую-то тему и нужно делать аннотации, при это нужно цеплять ещё какие-то формулы, примеры, цитаты или даже код. Например с Википедии вы не можете зацепить формулы как обычный текст. А если нужно посчитать данные с таблицы на каком-то сайте, то вы не можете выбрать только столбец, если автором сайта такая возможность не предусмотрена. Так "по крупинке" развилась тема до обсуждения на этом форуме...

Безусловно, для одного это очень большой объём работы. Поэтому хочется интегрировать самое востребованное (в рамках моих возможностей). При этом всё должно быть просто и понятно, как в обычном NotePad.
0
0 / 2 / 0
Регистрация: 17.02.2021
Сообщений: 54
23.02.2021, 09:06  [ТС]
Цитата Сообщение от developer123 Посмотреть сообщение
Как вы куки будите передавать?
Мы ведь получаем куки в виде массива. Поэтому, теоретически можно с помощью веб-драйвера имитировать работу браузера, записать в него полученный массив и передать запрос со всеми данными пользователя. Но, это уже неважно.
0
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
23.02.2021, 10:19
Если клиент подсоединяется к сайту по tls - то вы никак не повлияете на трафик. А сейчас все сайты работают по tls. Вам придётся подключаться к сайту своим сервером - и куки будут вашего сервера. Потом отдавать страницу клиенту. На клиенте появятся свои куки. Не забываем что куки можно создавать через javascript и работать с ними то же через javascript. А если учесть что современные страницы это не голый html а интерактивно строящийся реалтайм конструктор - со множеством запросов в реальном времени - то отладка ад.

Единственный способ получить доступ к станице на стороне клиента - это плагин для браузера.
0
0 / 2 / 0
Регистрация: 17.02.2021
Сообщений: 54
23.02.2021, 11:44  [ТС]
Цитата Сообщение от developer123 Посмотреть сообщение
Если клиент подсоединяется к сайту по tls - то вы никак не повлияете на трафик. А сейчас все сайты работают по tls. Вам придётся подключаться к сайту своим сервером - и куки будут вашего сервера.
Можно выделить канал обмена данных в отдельном потоке. Что собственно и происходит в таком случае. То есть создаётся TCP/IP соединение, где клиент и удалённый сервер общаются по протоколу HTTP, а прокси сервер выступает маршрутизатором. Через него проходят все данные, которые пишутся в буфер обмена. В таком случае, для удалённого ресурса, сессия выглядит как "пользователь вошёл с другого ПК через другой браузер". Если записывать сессию, можно привязывать события к конкретному клиенту. В этом случае даже не нужно знать о чём общается клиент с удалённым ресурсом, а просто упаковывать как пакет данных (байтов). Проверяя ответ сервера, можно передать управление "браузером", в случае возврата ответа "введите капчу". Я так когда-то экспериментировал с известными поисковыми системами (Google, Yandex, Bing) передавая поисковые запросы в разных потоках. Уже не помню как я это делал, но тем не менее оно работало...
Цитата Сообщение от developer123 Посмотреть сообщение
Единственный способ получить доступ к станице на стороне клиента - это плагин для браузера.
вебдрайвер это и есть плагин для браузера. У меня под эту тему, пока-что выделена отдельная строка в коде без реализации методов, как "подозрительные запросы".
0
0 / 2 / 0
Регистрация: 17.02.2021
Сообщений: 54
26.02.2021, 10:00  [ТС]
Надобность в "выкачивании html страниц" - отпала сама собой. Был подключён CLEditor, и он без всяких проблем передаёт "copy/past" данные любого типа, в том числе, как и планировалось - формулы с википедии. Можно даже сделать "ctr+a" любой интернет страницы, "ctr+c" и вставить в окно редактора "ctr+v". На выходе получается полная копия страницы, которую можно редактировать.

Интегрируя CLEditor, удалось реализовать два режима работы сервиса: "Html" и "Visual" editor. Причём в режиме "Visual", не нужно обладать знаниями Html. Достаточно использовать готовые функции CLEdito. И что самое главное: Генерируемый код Html при работе в режиме "Visual editor", получается (достаточно) чистым/валидным. Удалось написать методы форматирования и склеивания повторяющихся тэгов таким образом, что ничего лишнего в коде Html не остаётся.

Как уже было написано ранее, предусматривается поддержка javascript и jquery. Можно будет написать не просто статическую html страницу, а дополнить её скриптами, которые тут же можно будет протестировать (и всё это, возможно, будет без регистрации).

Работы ещё много (около 1-2 месяце) до первых запусков, и на данном этапе стоит вопрос безопасности выполнения скриптов. Необходимо предусмотреть случаи, когда пользователь по ошибке или целенаправленно блокирует внешние элементы управления и навигации сайта. Какие события (скрипты), могут быть в этом смысле опасны? Если скрипт будет выполняться в iframe, он будет работать только в рамках этого фрейма, или с него можно добраться и к странице на которой расположен iframe?
0
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
26.02.2021, 13:31
Непонятно что вы хотите.

Все вьюсинги основаны на одном теге - contenteditable="true" - только код там генерируется далеко не идеальный.

Тот же гугл док вообще на javascriopt свой текстовый процессор сделали. Но из за ограничений javascript там жуткие костыли.
0
0 / 2 / 0
Регистрация: 17.02.2021
Сообщений: 54
26.02.2021, 15:56  [ТС]
Цитата Сообщение от developer123 Посмотреть сообщение
Непонятно что вы хотите.
Тот же гугл док вообще на javascriopt свой текстовый процессор сделали. Но из за ограничений javascript там жуткие костыли.
Код, который пишет пользователь, обрамляется тегом или перезаписывается в отдельный файл, который подгружается в iframe. Мой вопрос заключался в следующем: Если скрипт будет выполняться в рамках этого фрейма, он может добраться к странице на которой расположен этот iframe?

Цитата Сообщение от developer123 Посмотреть сообщение
Все вьюсинги основаны на одном теге - contenteditable="true" - только код там генерируется далеко не идеальный.
Ну, это дело поправимо... Как оказалось, ckeditor-4 генерирует достаточно чистый код, и что самое главное - делает это быстро в реальном времени, снимая ненужную нагрузку на сервера. Поэтому, пожалуй будет интегрирован именно этот редактор для режима "Visual editor".
0
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
26.02.2021, 23:34
Цитата Сообщение от 1name Посмотреть сообщение
он может добраться к странице на которой расположен этот iframe
никаким образом до iframe не добраться. Иначе зашли на какйо нибудь сайт а у вас украли всё, где вы залогинены были.

Цитата Сообщение от 1name Посмотреть сообщение
Как оказалось, ckeditor-4 генерирует достаточно чистый код
ckeditor-4 не генерирует никакой код - код генерирует браузер. И раньше с множеством браузерных движков там генерировался целый зоопарк. Сейчас 3 осталось - хромиум, сафари, лиса. Edge - вроде как уже умер.
0
0 / 2 / 0
Регистрация: 17.02.2021
Сообщений: 54
27.02.2021, 12:15  [ТС]
Цитата Сообщение от developer123 Посмотреть сообщение
никаким образом до iframe не добраться.
Код выполняемый в iframe, может обратиться к родительскому окну. Единственный способ закрыть видимость - пропускать через ещё один iframe ("пустышку"). Даже если скрипт будет обращаться к DOM элементам родительского фрейма, он получит доступ к промежуточному окну, а дальше добраться не сможет. Это обусловлено уровнями языков программирования.
Цитата Сообщение от developer123 Посмотреть сообщение
ckeditor-4 не генерирует никакой код - код генерирует браузер.
Речь идёт об html разметке при редактировании страницы/документа. Браузер отображает страницу в соответствии с html разметкой.
0
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
27.02.2021, 13:57
Цитата Сообщение от 1name Посмотреть сообщение
Код выполняемый в iframe, может обратиться к родительскому окну
Что вы хотите сделать? Я так понял загружать в iframe сторонний сайт - и редактировать его через javasript. Так вот к стороннему сайту в iframe получить доступ нельзя. Даже если сделать скриншот страницы через javascript - iframe будет серой областью. Многие сайты запрещают загрузку себя в iframe.

Цитата Сообщение от 1name Посмотреть сообщение
Речь идёт об html разметке при редактировании страницы/документа. Браузер отображает страницу в соответствии с html разметкой.

Всё что делают WUSIWYG редакторы это включают contenteditable="true" для редактируемого тега. Дальше внутри тега всю редактируемость - делает браузер.
Все кнопки редакторов это javascript ExecCommand команды. Которые говорят браузеру - мол включи например жирный для редактируемой области. А как уже выполнится команда - каждый браузер сам для себя решает. Потому как сделать тот же жирный - в современном веб можно 100500 разными способами.
В своё время столкнулся с этими редакторами - так каждый браузер перенос делал по свойму. Кто <br> вставлял. Кто div. Кто <p>. Короче геморрой сплошной был.Особенно если есть глобальные стили на тот же <p>.
0
0 / 2 / 0
Регистрация: 17.02.2021
Сообщений: 54
27.02.2021, 15:31  [ТС]
Цитата Сообщение от developer123 Посмотреть сообщение
Что вы хотите сделать? Я так понял загружать в iframe сторонний сайт - и редактировать его через javasript.
Нет. Тема этой ветки форума Онлайн сервис - "NotePad". Блокнот, который будет поддерживать html, javascript и jquery. Можно будет написать код и сразу же проверить его работу. Что касается сторонних ресурсов, то разумеется, всё на совести пользователя. Если например блокнотом будет пользоваться студент, который делает конспект с википедии, то он с лёгкостью сможет вставлять любые формулы, но доступа через сайт к самой википедии у него не будет.
Цитата Сообщение от developer123 Посмотреть сообщение
Всё что делают WUSIWYG редакторы это включают contenteditable="true"
Включая contenteditable="true", браузер не знает как делать разметку. Скрипт делает эту работу и вставляет нужный тэг в нужном месте. Кроме того, в данном случае, возможно будет дополнительная проверка и редактирование html разметки на стороне сервера, как это делалось в случае с редактором CLEditor.

Добавлено через 19 минут
И если кто-то вдруг захочет зарабатывать на своих страницах NotePad, то он сможет вставить рекламный скрипт, например от гугла или яндекса, и получать прибыль за просмотры или клики в соответствии с их политикой. Но как это будет организовано - пока-что трудно сказать. Проектом предусматривается и своя система поиска...
0
Эксперт .NET
 Аватар для Usaga
14071 / 9289 / 1346
Регистрация: 21.01.2016
Сообщений: 34,850
28.02.2021, 07:32
Цитата Сообщение от 1name Посмотреть сообщение
Блокнот, который будет поддерживать html, javascript и jquery. Можно будет написать код и сразу же проверить его работу.
https://jsfiddle.net/
0
0 / 2 / 0
Регистрация: 17.02.2021
Сообщений: 54
28.02.2021, 08:48  [ТС]
Usaga, спасибо за ссылку, но это не то же самое. Ставится задача - максимально автоматизировать процесс. Пользователю не нужно знать html и css. Но если это продвинутый пользователь, то он сможет добавлять свои скрипты и редактировать html разметку.
0
Эксперт .NET
 Аватар для Usaga
14071 / 9289 / 1346
Регистрация: 21.01.2016
Сообщений: 34,850
28.02.2021, 09:32
Цитата Сообщение от 1name Посмотреть сообщение
Пользователю не нужно знать html и css.
https://ru.wix.com/
0
0 / 2 / 0
Регистрация: 17.02.2021
Сообщений: 54
28.02.2021, 09:37  [ТС]
Usaga, Wix - это конструктор сайтов, а у нас "обычный" тектовый редактор с расширенными функциями. Писать и оформлять страницы, можно как в обычном документе Word.
0
Эксперт .NET
 Аватар для Usaga
14071 / 9289 / 1346
Регистрация: 21.01.2016
Сообщений: 34,850
28.02.2021, 09:45
Цитата Сообщение от 1name Посмотреть сообщение
а у нас "обычный" тектовый редактор с расширенными функциями.
https://code.visualstudio.com/
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.02.2021, 09:45
Помогаю со студенческими работами здесь

Сервис онлайн орбитальное моделирование
сервис онлайн орбитальное моделирование. Что бы можно было взять любой объект, повернуть его и раскрутить с любой скоростью и по любой оси...

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

Знаете ли вы Ninite — онлайн-сервис
Как правило, сразу после переустановки системы, одним из наиболее приятных занятий (во всяком случае — для меня) является установка...

Посоветуйте онлайн сервис продажи контента
Добрый вечер! Посоветуйте, пожалуйста, зарубежный онлайн сервис для продажи контента. Например, видеороликов или сетов фотографий....

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru