Skip to content

Commit

Permalink
URL macros, rules, some minor changes
Browse files Browse the repository at this point in the history
  • Loading branch information
enclaved committed Jul 10, 2020
1 parent 48165b6 commit 311b074
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 23 deletions.
2 changes: 1 addition & 1 deletion recommendations.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
6. При использовании конструкторов **регулярно проверяйте** доступность ваших сайтов --- нередко такие сервисы
банят сайты при подозрении на их использование в клоакинг-схемах.

7. **Указывайте ссылки** на правдоподобные terms of user, privacy policy и cookies policy на белых страницах
7. **Указывайте ссылки** на правдоподобные terms of use, privacy policy и cookies policy на белых страницах
при работе с более строгими рекламными сетями, такими как Facebook, Google Ads, Microsoft Advertising и т.п.
**Европейский закон о Cookie также требует**, чтобы сайты явно запрашивали разрешение на использование cookies.

Expand Down
1 change: 0 additions & 1 deletion reporting.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@

* `REVIEW`, `MONEY`, `WHITE` -- решение принято клиентом путем установки режима потока: «Модерация», «Контент» и
«Белая страница» соответственно;
* `GEO`, `OS`, `BROWSER` -- решение принято клиентом путем задания таргетинга для потока;
* `IP`, `IP*` -- IP-адрес находится в наших черных списках: прокси-сервисы, VPN- и хостинг-провайдеры,
антивирусные, скоринговые и ИБ-компании, модераторы и т.п.;
* `IPSLB`, `IPSB` -- IP-адрес находится в черном списке потока;
Expand Down
82 changes: 61 additions & 21 deletions streams.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,31 +86,36 @@ https://example.com/index.php?__sid=1ea85c7c-b977-6804-8e69-00162501c2b4

### Макросы ссылок и PHP-переменные

Adspect поддерживает макросы в ссылках для перенаправления и соответствующие им PHP-переменные для использования
в PHP-лэндингах:

* `{clickid}` и `$_SERVER["ADSPECT_CLICK_ID"]`: уникальный идентификатор клика — внешний из параметра ссылки,
либо сгенерированный Adspect;
* `{country}` и `$_SERVER["ADSPECT_COUNTRY"]`: [ISO 3166-1 alpha-2](https://ru.wikipedia.org/wiki/ISO_3166-1_alpha-2)
код страны посетителя;
* `{os}` и `$_SERVER["ADSPECT_OS"]`: операционная система посетителя и ее версия в случае Windows и Android
(*PHP-переменная может содержать специальные символы и должна быть закодирована для использования в ссылке
при помощи* `rawurlencode()`);
* `{browser}` и `$_SERVER["ADSPECT_BROWSER"]`: название браузера посетителя
(*PHP-переменная может содержать специальные символы и должна быть закодирована при помощи* `rawurlencode()`);

Пример использования в ссылке:

Adspect поддерживает макросы для использования в полях "Контент" и "Белая страница" (а также в URL-правилах, как будет
описано далее в этой главе):

* `{ip}` --- IP-адрес посетителя;
* `{asn}` --- номер [автономной системы](https://ru.wikipedia.org/wiki/%D0%90%D0%B2%D1%82%D0%BE%D0%BD%D0%BE%D0%BC%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_(%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82))
посетителя;
* `{agent}` --- [строка user agent](https://ru.wikipedia.org/wiki/User_agent) посетителя;
* `{clickid}` --- уникальный идентификатор клика (внешний из параметра ссылки, либо сгенерированный Adspect);
* `{country}` --- [ISO 3166-1 alpha-2](https://ru.wikipedia.org/wiki/ISO_3166-1_alpha-2) код страны посетителя;
* `{os}` --- операционная система посетителя и ее версия в случае Windows и Android;
* `{browser}` --- название браузера посетителя;
* `{epoch}` --- [Unix-время](https://ru.wikipedia.org/wiki/Unix-%D0%B2%D1%80%D0%B5%D0%BC%D1%8F) перехода;
* `{tags}` --- [тэги обработки перехода](reporting.html#id3), если есть.

При отображении страниц без редиректа вы также можете добавить параметры ссылки с макросами после имени файла для
отображения, и они будут переданы в PHP, где будут доступны через
[суперглобальную переменную `$_GET`](https://www.php.net/manual/ru/reserved.variables.get.php).

Пример использования в ссылке для редиректа:
```
https://example.com/?clickid={clickid}&geo={country}&os={os}
https://example.com/offer?clickid={clickid}&geo={country}&os={os}
```

Пример использования в коде PHP-лэндинга:

Пример использования при отображении без редиректа:
```
page.php?clickid={clickid}&geo={country}&os={os}
```
```php
<a href="https://example.com/offer?clickid=<?= $_SERVER["ADSPECT_CLICK_ID"] ?>">
Это ссылка на оффер со встроенным в нее click ID
</a>
<!-- В коде файла page.php -->
<a href="https://example.com/offer?clickid=<?= $_GET['clickid'] ?>">Offer</a>
```

## Белая страница
Expand Down Expand Up @@ -233,6 +238,41 @@ PHP-переменной `$_SERVER["ADSPECT_CLICK_ID"]`.
использующих VPN- и прокси-сервисы. При включенной проверке описанный выше ручной список часовых поясов игнорируется.
Мы рекомендуем включить эту настройку.

## URL-правила

Эта секция позволяет вам создать до 30 собственных правил проверки и изменения URL-параметров. Каждое правило
описывается следующими составными частями:

* Параметр --- имя параметра в ссылке, который будет проверяться или изменяться;
* Оператор --- конкретная проверка или операция, которая будет произведена;
* Аргумент --- аргумент оператора, если он применим (поддерживаются макросы);
* Переключатель "Вкл" --- позволяет включать и выключать отдельные правила.

Поддерживаются следующие операторы:

* `EXISTS` --- проверяет, что параметр существует (аргумент игнорируется);
* `! EXISTS` --- проверяет, что параметр не существует (аргумент игнорируется);
* `REGEX` --- проверяет параметр на совпадение с
[Perl-совместимым регулярным выражением (PCRE)](http://www.pcre.ru/docs/perl/text/intro/)
в аргументе (с учетом регистра);
* `REGEX (no case)` --- проверяет параметр на совпадение с регулярным выражением в аргументе (без учета регистра);
* `! REGEX` --- проверяет параметр на несовпадение с регулярным выражением в аргументе (с учетом регистра);
* `! REGEX (no case)` --- проверяет параметр на несовпадение с регулярным выражением в аргументе (без учета регистра);
* =, ≠, >, ≥, <, ≤ --- сравнивают параметр с аргументом; целочисленные и вещественные значения сравниваются как числа,
строки сравниваются в соответствии с [лексикографическим порядком](https://ru.wikipedia.org/wiki/%D0%9B%D0%B5%D0%BA%D1%81%D0%B8%D0%BA%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BE%D0%BA);
* `ASSIGN` --- назначает параметру значение из аргумента;
* `RENAME` --- переименовывает параметр в аргумент;
* `DELETE` --- удаляет параметр из ссылки (аргумент игнорируется);

Правила выполняются в следующем порядке:

1. Проверки: правила `EXISTS` и `REGEX`, =, ≠, >, ≥, <, ≤ --- не пройденная проверка отправляет на белую страницу;
2. Правила `ASSIGN`;
3. Правила `RENAME`;
4. Правила `DELETE`.

В аргументах правил поддерживаются все те же макросы, доступные для использования в полях "Контент" и "Белая страница".

## Фильтр user agent

Эта настройка позволяет вам указать собственное [Perl-совместимое регулярное выражение (PCRE)](http://www.pcre.ru/docs/perl/text/intro/)
Expand Down

0 comments on commit 311b074

Please sign in to comment.