Web клиент (расширение для Chrome). Передача GUID клиента

12.02.26

Интеграция - WEB-интеграция

Web клиент (расширение для Chrome). Передача GUID клиента. Добавляет заголовок HTTP 'C' и параметр 'C=' к GET-запросам для URL из списка настроек.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Web клиент (расширение для Chrome). Передача GUID клиента.:
.zip 22,69Kb
0 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Web клиент (расширение для Chrome). Передача GUID клиента.

Добавляет заголовок HTTP 'C' и параметр 'C=<uuid>' к GET-запросам для URL из списка настроек.

Данный UUID можно использовать для дополнительной аутентификации пользователя.

Параметр будет доступен в модуле приложения -> "ПриНачалеРаботыСистемы".

 

Подробная инструкция и описание работы расширения:

1) Коротко о том, что делает расширение

- При точном совпадении запрашиваемого URL с одним из URL в списке настроек расширение автоматически:

  - добавляет заголовок HTTP `C: <uuid>` ко всем исходящим GET-запросам к этому URL;

  - добавляет параметр `C=<uuid>` в строку запроса URL (query) при переходах/перенаправлениях к этому же точному URL.

- `<uuid>` — это уникальный UUID, сгенерированный один раз при первой установке расширения и сохранённый в `chrome.storage.local`.

2) Установка (локально, для разработчика)

1. Откройте `chrome://extensions` в браузере Chrome.

2. Включите режим разработчика (Developer mode) в правом верхнем углу.

3. Нажмите "Load unpacked" и выберите папку с этим репозиторием (где находятся `manifest.json`, `background.js`, `content.js`, `options.html` и т.д.).

3) Конфигурация — список URL

- Откройте опции расширения (Details → Extension options или через `chrome-extension://<id>/options.html`).

- В поле вводите полные URL (по одному в строке). Примеры допустимых значений:

  - `https://example.com/path/to/page`

  - `https://example.com/path/to/page?param=1`

- Важно: сравнение выполняется строго (exact match). Это значит, что URL запроса должен полностью совпадать с записью (схема + хост + путь + query, фрагмент `#...` игнорируется). Если URL отличается даже параметром в query или слэшем — параметр и заголовок не добавляются.

4) Что ещё делает расширение (контроль на странице)

- Content script модифицирует ссылки (`a[href]`) и GET-формы на страницах: если href/action точно равен URL из списка, в ссылку добавляется `?C=<uuid>` и в GET-форму добавляется скрытое поле `input[name="C"]`.

- Для перехвата вызовов `fetch` и `XMLHttpRequest` расширение пытается внедрить скрипт в контекст страницы (через `chrome.scripting.executeScript`) и изменить URL запросов, но это может блокироваться CSP на некоторых сайтах — в этом случае изменения ссылок/форм остаются рабочими.

5) Файлы расширения (кратко)

- `manifest.json` — манифест (Manifest V3), перечислены разрешения `declarativeNetRequest`, `declarativeNetRequestWithHostAccess`, `scripting`, `storage`.

- `background.js` — сервис-воркер: генерация UUID, создание/обновление правил `declarativeNetRequest` (добавление заголовка/редиректа для точных URL), обработка сообщений от content script и опций.

- `content.js` — content script: изменение ссылок/форм, запрос UUID и списка URL из background, запрос инъекции page-script.

- `options.html` — UI для ввода списка URL (по одной строке). Сохраняет в `chrome.storage.local` под ключом `allowedHosts`.

6) Как проверить работу

a) Проверка сохранённых значений (service worker console):

   - Откройте `chrome://extensions`, на карточке расширения нажмите "Service worker" → Inspect views.

   - В консоли выполните:

     - `chrome.storage.local.get(['allowedHosts','userUUID'], console.log)` — увидеть список URL и UUID.

     - `chrome.declarativeNetRequest.getDynamicRules().then(r => console.log(r))` — увидеть текущие динамические правила (они должны содержать правила с ключом `C`).

b) Проверка на странице:

   - Перейдите по точному URL из опций или кликните по ссылке, которая точно совпадает с записью.

   - В DevTools → Network проверьте запрос GET:

     - Request URL — должно быть `...?...&C=<uuid>` (если редирект/изменение URL сработал);

     - Request Headers — должен быть заголовок `C: <uuid>`.

7) Устранение неполадок

- Если в URL по-прежнему появляется параметр `UserUUID` — это значит, что старые динамические правила (созданные ранее, до переименования в `C`) остались в браузере. Решение:

  1. В консоли service worker выполните:
     ```js
     chrome.declarativeNetRequest.getDynamicRules().then(r => console.log(r));
     // и если видите правила, содержащие 'UserUUID', удалите их:
     chrome.declarativeNetRequest.getDynamicRules().then(r=>{
       const ids = r.filter(rule=> JSON.stringify(rule).includes('UserUUID')).map(x=>x.id);
       if(ids.length) chrome.declarativeNetRequest.updateDynamicRules({removeRuleIds: ids});
       console.log('removed', ids);
     });
     ```
  2. Затем перезапустите расширение (Reload на `chrome://extensions`) или отправьте сообщение для переустановки правил:
     `chrome.runtime.sendMessage({ type: 'hosts-changed' });`

- Если опции не сохраняются: откройте DevTools на странице `options.html` и посмотрите ошибки в консоли — возможна проблема с `chrome.storage` или правами.

- Если injected скрипт не перехватывает `fetch`/`XHR` — вероятно сайт использует строгую CSP, и инъекция блокируется; в этом случае изменение ссылок/форм остаётся основным механизмом.

8) Изменение параметра/названия заголовка

- По умолчанию имя заголовка и параметра — `C`. Если нужно изменить имя или способ формирования значения (например, брать UUID из внешнего сервера), нужно править `background.js` и `content.js`.

9) Безопасность и ограничения

- dNR (declarativeNetRequest) имеет ограничение на количество правил; расширение создаёт правила на точные URL из настроек — при большом количестве записей это может упереться в лимит.

- Расширение не отправляет UUID никуда — оно хранит UUID локально и использует его только для установки заголовка/параметра.

Репозиторий на GitHub: https://github.com/Shooshpanius/Chrome1cAddGuidToGET

Вступайте в нашу телеграмм-группу Инфостарт

аутентификация браузер web-клиент

См. также

WEB-интеграция Программист Бизнес-аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17568 руб.

20.12.2024    6397    28    4    

30

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM / LOGICSTARS. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM / LOGICSTAR разных брендов в одной информационной базе в ручном и автоматическом режиме.

42700 руб.

03.08.2020    24421    37    26    

28

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    23150    69    52    

43

WEB-интеграция Загрузка и выгрузка в Excel Программист Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Расширение освободит вас от необходимости вручную обновлять информацию о товарах в группах ВКонтакте. Достаточно задать правила один раз, и система автоматически формирует файлы yml для дальнейшей загрузки в группы в ВК. Вы сможете легко выбирать, какие товары публиковать, создавая гибкие критерии отбора. Например, можно добавить важные для покупателей параметры: цвет, размер или другие характеристики.

12200 руб.

29.08.2025    2871    7    8    

8

WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена по API между конфигурацией 1С:Альфа-Авто 6 и порталом LogicStar. Позволяет работать с несколькими обменами LogicStar разных брендов (CHERY, OMODA, JAECOO, EXEED, TENET) в одной информационной базе в ручном и автоматическом режиме. Поддерживается выгрузка заказ-нарядов, реализаций товаров и товарных остатков.

20740 руб.

13.05.2025    2194    2    0    

5
Для отправки сообщения требуется регистрация/авторизация