LINUX.ORG.RU

curl через браузер

 , ,


0

2

Иногда бывает так, что вы авторизированы в какой-то соцсети или внутренней системе. И тут вы хотите написать скрипт, который будет показывать какие-то нотификации или какую-то десктопную панель.

Вместо того чтобы использовать OAuth или городить гигантские cookie какими-то способом можно дать возможность утилите командной строки отправить запрос по DBus в (постояно запущеный в современном мире) браузер и сделать запрос от него с добавлением всех cookies для нужного домена.

Например на том же ЛОРе можно было бы выполнить

browser-curl https://www.linux.org.ru/notifications-count

Единственное неудобство - все URL будут работать от залогиненого пользователя. Вот например если мой акк на ЛОРе vertexua и например Eddy_Em мой виртуал, то счетчик нотификаций будет скакать сам по себе

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

★★★★★

Последнее исправление: vertexua (всего исправлений: 2)

Насколько это дыра в безопасности

нинасколько

насколько это ненужно

это нужно будет узкому кругу лиц

насколько возгорят жопы у разработчиков соцсетей от легко пишущихся спам-ботов?

нинасколько. Тот, кто захотел написать спамбота уже его написал. Да и готовых полно.

Панику зря поднял.

reprimand ★★★★★
()

или городить гигантские cookie

браузер их где-то хранит? Хранит. Код открыт, можно найти где хранит и прочитать оттуда. А DBus не нужен. И запущенный браузер тоже

Harald ★★★★★
()
Ответ на: комментарий от vertexua

м.б. оно даже и так уже в библиотеку вынесено

Harald ★★★★★
()
Ответ на: комментарий от Harald

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

vertexua ★★★★★
() автор топика
Ответ на: комментарий от vertexua

а кто их в браузер запиливать будет, эти публичные интерфейсы? Да и вообще вся идея один большой костыль

Harald ★★★★★
()
Ответ на: комментарий от vertexua

я вот сейчас глянул, в файерфоксе куки в sqlite базе хранятся,

sqlite> .schema moz_cookies
CREATE TABLE moz_cookies (id INTEGER PRIMARY KEY, baseDomain TEXT, appId INTEGER DEFAULT 0, inBrowserElement INTEGER DEFAULT 0, name TEXT, value TEXT, host TEXT, path TEXT, expiry INTEGER, lastAccessed INTEGER, creationTime INTEGER, isSecure INTEGER, isHttpOnly INTEGER, CONSTRAINT moz_uniqueid UNIQUE (name, host, path, appId, inBrowserElement));
CREATE INDEX moz_basedomain ON moz_cookies (baseDomain, appId, inBrowserElement);

прочитать элементарно

Harald ★★★★★
()
Ответ на: комментарий от Harald

Могу написать Extension на нативном коде

vertexua ★★★★★
() автор топика
Ответ на: комментарий от Harald

хром тоже судя по быстрому гуглению хранит в sqlite

Harald ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.