Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

advert-fetcher

Package Overview
Dependencies
Maintainers
2
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

advert-fetcher

Utility for safe fetching of adverts through the IM script.

  • 0.6.3
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
2
Weekly downloads
 
Created
Source

Advert Fetcher

Advert Fetcher je nástroj pro bezpečnější načítání reklamy z IM scriptu pomocí sandboxingu IM do iframu, a zobrazovaní reklamy v samostatných iframech.

Přehled architektury

Schéma komunikace:

.-----------------------.              .------------------------------.
| Advert fetcher iframe |  <-------->  | Advert fetcher worker iframe |
'-----------------------'              '------------------------------'
    ^      ^        ^
    |      |        '------------------------------.
    |      '----------------.                      |
    v                       v                      v
.-----------------.   .-----------------.   .-----------------.
| Reklamní iframe |   | Reklamní iframe |   | Reklamní iframe |
'-----------------'   '-----------------'   '-----------------'

Integrace do služby

Pokud není nutno přenastavovat interní konfiguraci advert fetcheru, integrace je poměrně přímočará:

Přidejte si advert fetcher do projektu jako npm závislost:

npm install --save-dev advert-fetcher

HTML soubory v balíčku je vhodné překopírovat do adresáře se statickými soubory. Pokud je v projektu použit gulp, postup je následovný:

gulp.task('copy:advertFetcher', () =>
    gulp
        .src('./node_modules/advert-fetcher/*.html')
        .pipe(gulp.dest('./static/html/'))
);

Nyní stačí vložit hlavní iframe advert fetcheru do stránky:

<body>
    <iframe
        id="advert-fetcher"
        width="1"
        height="1"
        sandbox="allow-scripts allow-same-origin"
        src="/static/html/advert-fetcher.html?service=...&amp;tld=...&amp;workerUrl=...">
        <!-- nepovinný fallback pokud klient nepodporuje iframy na stránce -->
        <script src="//h.imedia.cz/js/dot-small.js"></script>
        <script src="//i.imedia.cz/js/im3.js"></script>
        <script>
            DOT.cfg({
                service: 'název služby',
                impress: false
            });
            im.conf.server = 'i.imedia.cz';
        </script>
    </iframe>
    ...

Query parametry ("veřejné" nastavení advert fetcheru) je popsáno níže.

Je doporučeno tento iframe skrýt v UI pomocí CSS:

#advert-fetcher {
    position: fixed;
    left: -1px;
    top: -1px;
}

Nastavení advert fetcheru

Iframe advert fetcheru vyžaduje několik nastavení poskytnutých skrz query parametry v URL iframu:

  • service - název služby, pro kterou je vydávána reklama
  • tld - top-level doména, obvykle cz, nebo test, nebo dev
  • workerUrl - URL na HTML dokument advert-fetcher-worker.html

Vložení reklamy do stránky

Pro vložení reklamy do stránky je nutno vložit do stránky iframe odkazující na dokument advert.html:

<iframe
        class="ad"
        width="..."
        height="..."
        sandbox="allow-popups allow-popups-to-escape-sandbox allow-top-navigation allow-scripts allow-same-origin"
        src="/static/html/advert.html?zoneId=...&collocation=...">
    <!-- nepovinný fallback pokud klient nepodporuje iframy na stránce -->
    <div id="ad-seznam.sluzba.zona"></div>
    <script>
        im.getAds([{
            id: 'ad-seznam.sluzba.zona',
            zoneId: 'seznam.sluzba.zona',
            collocation: '...'
        }]);
    </script>
</iframe>

Keywords

FAQs

Package last updated on 09 Jan 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc