Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение

Компьютер как "веб-киоск". Что выбрать, как сделать? : Операционные системы и программное обеспечение

23.11.2024 3:45


28.06.2015 03:06
Задача - нужно место в торговом зале с доступом только к одному сайту (интернет-магазину) - аналогичное тому, что стоят во многих интернет-магазинах (Ulmart, OnlineTrade).

Т.е., по сути, компьютер, на котором в полноэкранном режиме запущен браузер, доступ только к одному сайту.
Требования к браузеру:
  • При "смене пользователя" (бездействии) должен происходить выход из аккаунта на сайте (если посетитель туда входил).
  • Браузер не должен запоминать пароли.
  • На сайте могут быть внешние ссылки - браузер не должен по ним переходить.
  • Не должно быть никаких "сохранить", "напечатать" и т.п.
Дополнительное требование - обычный монитор (без тач-скрина), обычные мышь и клавиатура.

Решил сначала "заморочиться" браузером.
У Chrome расширение
"Создал" с помощью его своё расширение, загрузил его в Chrome

Почти всё устраивает
  • есть время ожидания перед окончанием сеанса (в минутах),
  • есть время возврата на главную страницу (в минутах)
  • есть режим киоска
кроме:
  • На картинках запускается "меню правой кнопки"
  • На сайте есть "внешние ссылки" - Яндекс.Маркет, торговые площадки и т.п. - их надо запретить (по идее - в manifest.json "секции" "webRequest", "webRequestBlocking" - но пока не разобрался с ними)
  • Не разобрался, как запустить именно это "созданное своё расширение" (пока запускается из "расширений")
Дальнейшие варианты:
  • Windows, где в качестве оболочки будет использоваться данный браузер (точнее - данное расширение браузере).
  • Linux, где в X будет запущен этот браузер (точнее - данное расширение браузере).

Если есть какой-то опыт в этом направлении - был бы признателен за подсказки (в частности - пока совсем не понимаю - как "блокировать" нажатие специальных клавиш (к примеру - Ctrl+Alt+Del в Windows)).
28.06.2015 09:42
Цитата:
KirillHome Т.е., по сути, компьютер, на котором в полноэкранном режиме запущен браузер, доступ только к одному сайту.
т.е. это аналог киоска :)
в свое время (пока у себя в укмвин не написал полноценный перехватчик клавы) тоже интересовался подобным - посмотри решение для винды

Securing Windows For Use As A Kiosk
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 21 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.


кстати через этот параметр можно не только отрубить но и перезначить кнопки на твои собственные что будут вызывать нужные тебе операции :)
28.06.2015 20:00
самый простой способ отрубить хождение по левым ссылкам... прописать левый днс...
а свой нужный сайт вписать в hosts винды... просто и эффективно...
29.06.2015 14:00
А есть ушлые, которые по IP ходят :)
29.06.2015 18:21
А можно на коленке написать своё приложение с WebView на всю форму, и при запуске загружать в него только свой сайт, и растягивать окно приложения во весь экран, параллельно запуская таймер с перехватом фокуса. Никаких лишних кнопок или адресных строк. Пользеры с айкью ниже табуретки бреются сразу.
29.06.2015 18:59
Цитата:
twix А можно на коленке написать своё приложение с WebView на всю форму, и при запуске загружать в него только свой сайт, и растягивать окно приложения во весь экран, параллельно запуская таймер с перехватом фокуса. Никаких лишних кнопок или адресных строк. Пользеры с айкью ниже табуретки бреются сразу.
Думал на эту тему.
Как минимум - не решает вопрос автовыхода залогинившегося в личный кабинет пользователя.
29.06.2015 19:18
Цитата:
KirillHome Думал на эту тему.
Как минимум - не решает вопрос автовыхода залогинившегося в личный кабинет пользователя.
То же приложение по неактивности в течение заданного времени может просто отправлять вебвью на урлу логаута.
07.12.2016 14:54
Пока остановился на таком решении:
компьютер под Windows'7 (так получилось, что он оказался свободным)
Заведёно один пользователь
Установлен Google Chrome (в режиме "для всех пользователей компьютера"). Запретили сохранять пароли.
Установлено расширение "Block Site" (позволяет вести "белый список", и перенаправлять все запросы "мимо" сайтов в белом списке на нужный сайт - работает и с http и с https), наспраиваем белый список на наш сайт, настраиваем перенаправления на наш сайт, разрешаем его работу в режиме Инкогнито.
Настроен режим энергосбережения нужным образом.

Сделана подмена Shell-а:
regedit - HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon - добавляем строковый параметр Shell с содержанием
Код:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --kiosk --incognito http://НашСайт
Минусы:
  • Основной - нет кнопки "Домой" (да, на сайте есть страницы, на которых нет ссылки на главную страницу. Не много, но всё же есть).
  • Не проверена работа с личным кабинетом (как выяснилось - нет такой необходимости).
  • Расположенная на сайте карта Google имеет кнопку "войти", которая открывает новое окно (да, там тоже будет перенаправление на главную страницу нашего сайта, но - второе окно. Неудачно). Решается установкой ещё одного дополнения "Inteset Chrome Kiosk Helper" (блокирует создание новых окон и вкладок в kiosk-mode).

скрытое
07.12.2016 15:27
Есть ещё одно довольно красивое решение - "Proteus kiosk"

Из недостатков - у меня не получилось подгрузить свои расширения (но через автора проекта это возможно).

Увы, в моём случае не смог загрузиться с установочной флешки (на том компьютере, где крутится киоск - был чёрный экран и всё, на всех остальных - замечательно работало. То есть проблема с Nvidia картой), разбираться дальше было уже лень (всё равно был комп с windows).
07.12.2016 15:49
Интересная штука! Я думаю, что достаточно несложно будет разобрать загрузочный диск и посмотреть, как все сделано, после чего можно перенести это на любую другую инсталляцию Linux, с нужными дровами, расширениями и прочими добавками.
Часовой пояс GMT +3, время: 03:45.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.