PCrisk.com
Centrum pomocy webmastera

Dodaj swój Trust Badge
w dwie minuty.

Podejrzyj tutaj swoją odznakę, potem pobierz gotowy kod z panelu PCrisk i wklej go na swojej stronie. Ten poradnik obejmuje konfigurację, personalizację i wskazówki, co zrobić, jeśli odznaka się nie wyświetla.

Pierwsze kroki

Podejrzyj i zainstaluj odznakę

Wypróbuj poniższe style, aby zobaczyć dokładnie to, co zobaczą odwiedzający. Gdy będziesz gotowy, Twój spersonalizowany kod czeka w panelu — bez umiejętności programowania.

1

Podejrzyj styl

Wybierz poniżej styl, rozmiar i kolor, aby zobaczyć odznakę na żywo. To tylko podgląd — logowanie nie jest wymagane.

2

Skopiuj kod z panelu

Zaloguj się, a PCrisk udostępni gotowy kod z wybranym stylem — działa na każdej domenie na Twoim koncie.

3

Wklej, zapisz i opublikuj

Dodaj ją do swojej witryny. Gdy domena przejdzie codzienny skan, odznaka pojawi się automatycznie.

Styl
Rozmiar
Motyw
Położenie
Podgląd na żywo

Kod instalacyjny znajdziesz w panelu

Po zalogowaniu kreator panelu wygeneruje gotowy do wklejenia fragment z wybranym stylem. Odznaka automatycznie wykrywa domenę, na której działa — ten sam fragment działa na każdej domenie na Twoim koncie i wyświetla się tylko tam, gdzie jest aktywna subskrypcja i czysty dzienny skan.

Zainstaluj z AI w panelu
Wolisz Cursor, Claude, Copilot lub ChatGPT? Zaloguj się i skopiuj gotowy prompt — dopasowany do Twojej odznaki i umiejscowienia — który doda ją do Twojej witryny.
Zaloguj się, aby pobrać prompt

Bez cookies, bez śledzenia, ~7 KB. Odznaka ładuje się po stronie (więc nigdy jej nie spowalnia), nie zapisuje nic o odwiedzających i nie ustawia cookies.

Odznaka pojawia się tylko wtedy, gdy ostatni skan jest czysty. Jeśli dopiero się zarejestrowałeś, poczekaj chwilę na zakończenie pierwszego skanu. Puste miejsce oznacza po prostu “czystość jeszcze niepotwierdzona” — nie to, że kod jest uszkodzony.

Gdzie to wkleić

Instrukcje dla platform

Dwa sposoby dodania odznaki: zainstaluj naszą wtyczkę lub wklej fragment kodu z panelu. Wybierz platformę poniżej — w obu przypadkach zajmie to kilka minut.

WordPress

Najprościej — zainstaluj darmową wtyczkę, bez kodu:

  1. W panelu WordPress przejdź do Wtyczki → Dodaj nową.
  2. Wyszukaj PCrisk Trust Badge.
  3. Kliknij Zainstaluj teraz, potem Włącz.
  4. Otwórz Trust Badge w menu administratora połącz swoją witrynę, a potem wybierz styl i miejsce wyświetlania odznaki. Podgląd na żywo pokazuje dokładnie to, co zobaczą odwiedzający.
Zobacz na WordPress.org

Używasz WooCommerce? Wtyczka wykrywa to automatycznie i dodaje miejsca w sklepie — stronę sklepu, strony produktów, koszyk i kasę — oprócz miejsca w całej witrynie. Nic więcej nie trzeba instalować.

Nie możesz instalować wtyczek? Wklej fragment kodu z panelu do sekcji kodu stopki — na przykład darmowej “WPCode” lub Wygląd → Edytor plików motywu (najpierw wykonaj kopię zapasową).

ShopifyWkrótce

Nasza aplikacja Shopify już w drodze. Jest teraz w trakcie tworzenia — instalacja jednym kliknięciem, bez kodu motywu, z umiejscowieniem na stronach produktu, koszyka i płatności. Do tego czasu możesz dodać odznakę za pomocą poniższego fragmentu kodu.

W międzyczasie:

  1. W panelu Shopify przejdź do Sklep online → Motywy.
  2. Przy bieżącym motywie kliknij ⋯ -> Edytuj kod.
  3. Otwórz layout/theme.liquid i wklej fragment kodu z panelu tuż przed zamykającym </body> .
  4. Zapisz. Odznaka pojawi się na każdej stronie sklepu.
Wix
  1. Przejdź do Ustawienia → Kod niestandardowy w panelu witryny.
  2. Kliknij + Dodaj kod niestandardowy, wklej fragment kodu i ustaw go, aby ładował się na Wszystkich stronach, umieszczony w Body - koniec.
  3. Zastosuj i opublikuj.
Squarespace
  1. Przejdź do Ustawienia → Zaawansowane → Wstrzykiwanie kodu.
  2. Wklej fragment kodu do pola Stopka .
  3. Zapisz. (Wstrzykiwanie kodu wymaga planu Business lub wyższego.)
Webflow, Framer i niestandardowy HTML

Webflow: Ustawienia projektu → Kod niestandardowy → wklej do pola Footer Code → opublikuj.

Framer: Ustawienia witryny → Ogólne → Kod niestandardowy → Koniec tagu <body>.

Witryny kodowane ręcznie: wklej fragment kodu tuż przed </body> w pliku szablonu lub układu.

Dostosuj po swojemu

Dostosuj odznakę

Twoje wybory są zapisane jako data-* atrybuty w miejscu osadzenia fragmentu kodu <div> - projektant panelu ustawia je wszystkie podczas generowania kodu. Aby później zmienić styl, wybierz tam nowy wygląd i wklej zaktualizowany fragment zamiast starego. Oto, co kontroluje każdy atrybut.

AtrybutWartościDziałanie
data-styleshield, ribbon, minimal, bubbleOgólny kształt i układ odznaki.
data-sizesmall, medium, largeOgólny rozmiar odznaki.
data-themelight, dark, autoDopasuj do tła swojej witryny. auto podąża za jasnym lub ciemnym motywem Twojej strony.
data-positionbottom-right, bottom-left, top-right, top-leftPrzypina odznakę do tego rogu ekranu - działa z dowolnym stylem. Pomiń go, a odznaka wyrenderuje się w miejscu swojego <div>.

Chcesz umieścić ją dokładnie w wybranym miejscu, np. w środku płatności? Ten <div> w Twoim fragmencie TO miejsce odznaki - umieść go tam, gdzie odznaka ma się pojawić (rezerwuje nawet miejsce odznaki, więc układ strony nigdy się nie przesunie). Chcesz odznaki w kilku miejscach? Wklej więcej elementów div; tag script musi pojawić się tylko raz. Pływające odznaki - dowolny styl z data-position - ignorują położenie swojego div: przypinają się do wybranego rogu.

Rozwiązywanie problemów

Odznaka się nie wyświetla?

Wykonaj te kroki po kolei - pierwsze dwa rozwiązują większość przypadków.

Poczekaj chwilę - i sprawdź, czy ostatni skan jest czysty

Odznaka wyświetla się tylko wtedy, gdy Twój ostatni codzienny skan jest czysty. To celowe - zachowuje znaczenie odznaki, więc nigdy nie jest pokazywana na naruszonej stronie.

Jeśli właśnie ją zainstalowano:

  1. Sprawdź panel PCrisk - czy obok Twojej domeny widnieje „Odznaka aktywna”?
  2. Jeśli skan nadal trwa, poczekaj na jego zakończenie, a potem odśwież stronę.
  3. Jeśli Twoja witryna została oznaczona, rozwiąż problem; odznaka wróci automatycznie po następnym czystym skanie.
Twoja witryna ma Content Security Policy (zaawansowane)

Dobra wiadomość: 9 na 10 witryn może to pominąć. Content Security Policy (CSP) to zaawansowane ustawienie bezpieczeństwa, które trzeba włączyć celowo. Jeśli nigdy o tym nie słyszano, prawie na pewno go nie masz - i to nie jest Twój problem.

Potraktuj CSP jak listę gości dla swojej witryny - wpuszcza tylko usługi, które zostały zatwierdzone. Jeśli ją masz, po prostu dodaj PCrisk do listy za pomocą tych wpisów:

Zezwól na to w swoim CSP
script-src  https://scanner.pcrisk.com
connect-src https://scanner.pcrisk.com
style-src   'unsafe-inline'

Ten style-src ten wiersz jest potrzebny tylko wtedy, gdy Twoja polityka ogranicza style (np. ustawia style-src lub tylko default-src): odznaka stosuje swój wygląd przez wbudowany element <style> , więc bez niego odznaka się ładuje, ale pozostaje niewidoczna.

Szybkie ścieżki:

Wtyczka bezpieczeństwa WordPress (Wordfence, Really Simple Security itp.): otwórz jej ustawienia i dodaj te wpisy w sekcji Content Security Policy.
Cloudflare: Twoja witryna → Security → Settings → reguła CSP → dodaj te wpisy.
Wix / Squarespace / standardowy Shopify: nic nie trzeba robić — te platformy nie używają własnych polityk, więc odznaka po prostu działa.

Nie masz pewności albo nadal się nie wyświetla? Skopiuj tę wiadomość i wyślij ją osobie zarządzającej Twoją witryną (deweloperowi lub pomocy hostingu) — będzie dokładnie wiedzieć, co zrobić:

Prześlij do dewelopera / hostingu
Cześć — dodaję do naszej witryny odznakę zaufania PCrisk. Jeśli mamy Content-Security-Policy, proszę zezwolić na te dwa źródła, aby mogła się załadować: script-src https://scanner.pcrisk.com i connect-src https://scanner.pcrisk.com. Jeśli nasza polityka blokuje style inline, zezwól też na 'unsafe-inline' w style-src. Dziękuję!
Blokada reklam lub rozszerzenie prywatności ją ukrywa

Niektóre agresywne blokery reklam lub rozszerzenia prywatności (albo przeglądarki jak Brave z rygorystycznymi osłonami) mogą blokować skrypty zewnętrzne. Aby to sprawdzić, otwórz witrynę w oknie prywatnym/incognito z wyłączonymi rozszerzeniami albo tymczasowo wstrzymaj bloker.

Dotyczy to tylko niewielkiej części odwiedzających korzystających z takich narzędzi — większość osób zobaczy odznakę normalnie. Sama odznaka nie ustawia cookies i niczego nie śledzi, dlatego zdarza się to rzadko.

Sprawdź, czy odznaka jest na dodanej domenie

Odznaka sprawdza dokładną domenę, na której jest ładowana. Jeśli dodano example.com ale kod działa w innej subdomenie (np. shop.example.com), adresie stagingowym lub localhost, nie znajdzie dopasowania.

Upewnij się, że strona wyświetlająca odznakę działa na domenie dodanej w panelu. Potrzebujesz jej na kilku subdomenach? Dodaj każdą z nich do konta.

Odznaka inline: czy dodano kontener?

Odznaki inline (dowolny styl bez data-position) renderują się w miejscu osadzenia <div class="pcrisk-badge"> z Twojego snippetu — upewnij się, że ten div trafił na stronę razem ze znacznikiem script (niektóre kreatory stron usuwają divy, ale zostawiają skrypty). Bez diva i bez data-* atrybutów w znaczniku script silnik nie ma gdzie renderować.

Dlaczego buduje zaufanie

Jak odwiedzający to weryfikują

Odznaka, którą każdy może podrobić, nie budzi zaufania. Nasza jest niezależnie weryfikowalna — to właśnie sprawia, że warto ją wyświetlać.

Kliknięcie otwiera raport na żywo

Każda odznaka jest klikalna. Odwiedzający trafiają na Twój publiczny raport pod adresem scanner.pcrisk.com — hostowanym przez nas, nie przez Ciebie — z najnowszym skanem i oceną zaufania.

Niezależność z założenia

Ponieważ raport znajduje się w domenie, której odwiedzający nie kontrolują, wynik jest wiarygodny — tak samo jak kłódka w przeglądarce jest niezależna od strony, za którą stoi.

Wskazówka: link do raportu można udostępniać osobno. Dodaj go do faktur, stron partnerów lub e-maili wsparcia, gdy chcesz potwierdzić bieżący stan bezpieczeństwa swojej witryny.

Jeśli coś zostanie wykryte

Co się dzieje po wykryciu zagrożenia

Nigdy nie wyświetlisz pieczęci „zweryfikowano” na zainfekowanej stronie.

Szybko Cię powiadamiamy

Gdy tylko skan wykryje problem, otrzymasz szczegółowy e-mail — poziom zagrożenia, co wykryto, gdzie i jak to naprawić.

Odznaka ukrywa się automatycznie

Twoja odznaka jest automatycznie usuwana do czasu rozwiązania problemu — i wraca natychmiast, gdy skan kontrolny potwierdzi, że witryna znów jest czysta.

Dla deweloperów · Pro i Business

Alerty Slack i webhook

Otrzymuj te same alerty, które wysyłamy e-mailem — wykryto zagrożenie, wszystko czyste, nie udało się ukończyć skanu — wysyłane do Slack lub na Twój endpoint w tych samych momentach. Oba ustawisz w panelu w sekcji Ustawienia → Integracje alertów.

Slack

W Slack utwórz Incoming Webhook dla wybranego kanału (Slack: Apps → Incoming Webhooks → Add to a channel), wklej hooks.slack.com URL do panelu i kliknij Wyślij test Slack. To cała konfiguracja — bez kodu.

Webhooki

My wysyłamy POST JSON na Twój endpoint HTTPS. Cztery typy zdarzeń:

alert.otwarty - skan oznaczył witrynę (wynik poniżej 70); odznaka jest wstrzymana.
alert.rozwiązany - późniejszy skan był czysty; odznaka została przywrócona.
scan.niepowodzenie - codzienny skan nie mógł zostać ukończony (witryna niedostępna); wysyłane raz na awarię.
test - przycisk Wyślij test webhooka na pulpicie.

Przykładowy payload
{
  "event": "alert.opened",
  "domain": "example.com",
  "trust_score": 55,
  "threat_type": "suspicious",
  "severity": "medium",
  "occurred_at": "2026-07-07T08:28:36.874Z"
}

Każde żądanie zawiera trzy nagłówki: Content-Type: application/json, X-PCrisk-Event (typ zdarzenia), lubaz X-PCrisk-Signature - sha256= po którym następuje szesnastkowy HMAC SHA-256 surowej treści żądania, z kluczem będącym sekretem podpisu widocznym na pulpicie. Zweryfikuj go przed zaufaniem dostawie.

Semantyka dostarczania: czekamy do 5 sekund na odpowiedź i uznajemy każde 2xx za przyjęte; nieudane dostarczenie jest ponawiane raz, ~15 sekund później, a potem porzucane. Traktuj webhooki jako powiadomienia, nie jako rejestr — stanem źródłowym jest Twój pulpit.

Weryfikuj względem surowej treści. Podpis obejmuje dokładne bajty, które wysyłamy. Jeśli Twój framework parsuje JSON, zanim możesz odczytać surową treść (np. globalne express.json()), ponowna serializacja sparsowanego obiektu nie odtworzy tych samych bajtów — przechwyć surową treść, jak w każdym przykładzie poniżej.

const crypto = require('crypto');
const express = require('express');
const app = express();

// express.raw keeps the body as the exact bytes we signed
app.post('/hooks/pcrisk', express.raw({ type: 'application/json' }), (req, res) => {
  const expected = 'sha256=' + crypto
    .createHmac('sha256', process.env.PCRISK_WEBHOOK_SECRET)
    .update(req.body) // Buffer
    .digest('hex');
  const given = req.get('X-PCrisk-Signature') || '';
  const ok = given.length === expected.length &&
    crypto.timingSafeEqual(Buffer.from(given), Buffer.from(expected));
  if (!ok) return res.status(401).end();

  const event = JSON.parse(req.body);
  console.log(event.event, event.domain, event.trust_score);
  res.status(200).end(); // any 2xx marks the delivery as accepted
});

app.listen(3000);
<?php
$secret   = getenv('PCRISK_WEBHOOK_SECRET');
$raw      = file_get_contents('php://input'); // raw body, before any parsing
$given    = $_SERVER['HTTP_X_PCRISK_SIGNATURE'] ?? '';
$expected = 'sha256=' . hash_hmac('sha256', $raw, $secret);

if (!hash_equals($expected, $given)) {
    http_response_code(401);
    exit;
}

$event = json_decode($raw, true);
// $event['event'], $event['domain'], $event['trust_score'], ...
http_response_code(200); // any 2xx marks the delivery as accepted
import hashlib, hmac, os
from flask import Flask, request, abort

app = Flask(__name__)
SECRET = os.environ["PCRISK_WEBHOOK_SECRET"].encode()

@app.post("/hooks/pcrisk")
def pcrisk_hook():
    raw = request.get_data()  # raw body, before parsing
    expected = "sha256=" + hmac.new(SECRET, raw, hashlib.sha256).hexdigest()
    given = request.headers.get("X-PCrisk-Signature", "")
    if not hmac.compare_digest(expected, given):
        abort(401)

    event = request.get_json()
    # event["event"], event["domain"], event["trust_score"], ...
    return "", 200  # any 2xx marks the delivery as accepted

# run with: flask --app hook run --port 3000

Zmieniasz endpoint? Zapisz nowy URL na pulpicie i wyślij test — sekret podpisu pozostaje taki sam dla Twojego konta. Alerty są per incydent (jeden alert.otwarty na epizod poniżej 70, nie jeden na skan), więc kanał nie zostanie zalany przez witrynę, która pozostaje oznaczona.

Dla deweloperów · Pro i Business

REST API

Pobieraj swoje domeny, wyniki, historię skanów i alerty do własnych pulpitów, raportów i monitoringu. Dostęp do odczytu w Pro; plan Business dodaje zarządzanie domenami. API udostępnia tylko własne monitorowane domeny.

Uwierzytelnianie

Utwórz klucz w panelu w sekcji Ustawienia → Klucze API (jest wyświetlany tylko raz — przechowujemy wyłącznie hash) i wysyłaj go jako token Bearer. Klucze dziedziczą uprawnienia z Twojego obecnego planu, a ich unieważnienie w panelu wyłącza je natychmiast.

Przykładowe żądanie
curl https://scanner.pcrisk.com/api/v1/domains   -H "Authorization: Bearer pcrisk_live_YOUR_KEY"
Odpowiedź
{
  "success": true,
  "data": [
    {
      "domain": "example.com",
      "status": "verified",
      "trust_score": 92,
      "threat_type": "clean",
      "last_scanned": "2026-07-07T06:12:04.000Z",
      "open_alerts": 0,
      "badge_visible": true,
      "badge_live": true
    }
  ]
}

Endpointy

GET /api/v1 - wykrywanie: Twój plan i poziom.
GET /api/v1/domains - wszystkie Twoje domeny z bieżącym wynikiem, typem zagrożenia i stanem odznaki.
GET /api/v1/domains/{domain} - jedna domena.
GET /api/v1/domains/{domain}/history - historia wyniku skanów (głębokość historii zależy od planu).
GET /api/v1/alerts - najnowsze alerty o zagrożeniach ze wszystkich domen, otwarte i rozwiązane.
POST /api/v1/domains (Business) - dodaj domenę; monitoring zaczyna się natychmiast. Treść: {"domain": "example.com"}.
DELETE /api/v1/domains/{domain} (Business) - usuń domenę; skanowanie się zatrzyma, odznaka przestanie się wyświetlać.

Wypróbuj

Wklej klucz API z panelu (Ustawienia → Klucze API) i wywołaj tutaj dowolny endpoint odczytu. Klucz trafia tylko do tego jednego żądania, do tej witryny — nic nie jest zapisywane, a żądanie liczy się do limitu jak każde inne.

Konwencje: każda odpowiedź to JSON z success oraz data lub kod.błędu + komunikat.błędu (401 zły klucz, 403 plan/poziom, 404 nie Twój, 429 ograniczono liczbę żądań). Limit wynosi 60 żądań/minutę na klucz - sprawdź X-RateLimit-Remaining i Retry-After nagłówki.

Push + pull: połącz API z alertami webhook - webhooki informują Cię od razu, gdy coś się zmieni, a API podaje pełny bieżący stan, gdy o niego poprosisz. Celowo nie ma endpointu do skanowania dowolnych domen firm trzecich.

Nadal potrzebujesz pomocy?

Chętnie sprawdzimy Twoją konkretną konfigurację. Wyślij nam adres swojej strony i opisz, co widzisz.