«Виола» и эпоха раннего интернета

В начале интернета никто не думал о безопасности — ни о шифровании, ни об аутентификации, ни о защите от перебора или других атак. Даже в хорошо знакомой всем электронной почте можно было подставить произвольный обратный адрес.

«Виола» в этом смысле — продукт своего времени. Браузер позволяет себе очень многое, причём без какого-либо разрешения. С одной стороны это даёт дополнительные возможности, с другой позволяет легко натворить всяких дел.

На моём скриншоте две программы для «Виолы» от автора браузера.

Слева — небольшой графический редактор, в котором моя дочь нарисовала котика и синюю рыбу. Для своей работы редактор запросто читает несколько файлов из моей файловой системы — он использует содержимое этих файлов в качестве одного из вариантов кистей.

Справа — пример того, как страница может вывести произвольную информацию на панель браузера с кнопками. В данном примере создаётся соединение с адресом pebble.berkeley.ora.com по порту 7777, и строится график чисел, получаемых из этого сокета. Такого адреса давно нет, чтобы пример заработал, я написал небольшой сервер на «Пайтоне» и перенаправил этот адрес на свою машину.

Скриншоты интерфейса ViolaWWW: слева — окно «doodle» с рисунком кота и фигур, справа — «Continuously Updating Field» с кодом скрипта monitorBar.v и заголовком в тулбаре.

Осталось полшага до того, чтобы выкачать всё важное из моего компьютера и отправить в интернет по произвольному адресу и протоколу.

Я сейчас как раз думаю что с этим делать. Я могу сделать так, чтобы файлы читались не по абсолютному пути, а по относительному, из какой-то «песочницы», это просто, а вот что делать с сетевыми соединениями пока не ясно. Кроме того, скриптовый язык может запускать произвольные программы.

В браузере компании «Нетскейп» был специальный «менеджер привилегий», который позволял попросить у пользователя разрешение на выполнение каких-то действий. Вот так, например, нужно было попросить разрешение на доступ к файлам и сети:

netscape.security.PrivilegeManager.enablePrivilege('UniversalFileAccess')
netscape.security.PrivilegeManager.enablePrivilege("UniversalConnect")

Можно было бы сделать примерно так же — спрашивать разрешение, но слишком далеко отходить от исходного поведения браузера мне не хочется. Мне нравится идея сохранить его поведение как можно ближе к тому, что было в 90-е.

В общем, думаю пока как всё сделать лучшим образом.

Оставить комментарий

Что прикупить из нейросетей?

У меня постоянно спрашивают, сколько и за какие нейросети я плачу. На самом деле у меня немного платных сервисов — всего две подписки.

У меня оформлена самая дешёвая ($22,4 в месяц) подписка на ChatGPT, и то только из-за функции глубокого поиска. За эти деньги нейросеть может несколько раз (точно не помню, ни разу не упирался в лимит) очень тщательно, порой десятки минут, шерстить интернет с заданной вами целью, а затем кратко обобщить найденное.

Это ощущается как помощник, который готов выполнить для вас поисковую работу. Пользуюсь постоянно. В последний раз — два дня назад, когда искал, где недалеко от нашего отеля (мы сейчас в Эмиратах) жена и дочка могут покататься на лошадях.

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

Кроме того, у меня есть самая дешёвая ($20) подписка на «Курсор», чтобы программировать, но сейчас мне не хватает, я всё время докупаю токены. Планирую перейти на более дорогой тариф ($80), но, учитывая мои аппетиты, может и этого не хватить. Когда «Виола» надоест, вернусь обратно на самый дешёвый.

4 комментария