Lovas Viktor

Megoldott problémák

Spam, kamu regisztrációk, kiszivárgó adatok? Megkeressük és lezárjuk a réseket.

Weboldal- és webshoptulajdonosoknak, akiknél spam jön az űrlapokon, a fizetős vagy belső tartalom illetéktelenül elérhető, vagy nem szabályos a sütikezelés.

A biztonsági gondok többsége nem látványos betörés. Kamu regisztrációk, spam a hírlevél-feliratkozón, egy fizetős fájl, ami belépés nélkül is letölthető, egy API, ami publikálatlan tartalmat is kiad. Ezek sokáig észrevétlenek maradnak, amíg valaki nem szól. Ezért először azt nézzük meg, hol nyitott ma a rendszer.

Spamre nem mindig a captcha a legjobb válasz. Egy utazási webshopnál előbb captchát, majd reCAPTCHA-t tettünk a regisztrációra. Aztán kiderült, hogy nyilvános regisztrációra nincs is szükség, ezért lezártuk. A hírlevél-feliratkozóra később Cloudflare Turnstile került, ami a valódi látogatóknak jellemzően semmilyen feladványt nem ad. Így a spam elmaradt, a látogatót pedig nem bosszantjuk.

A hozzáféréseknél a kérdés mindig ugyanaz: ki mit láthat, és ezt hol ellenőrzi a rendszer. Egy hetilapnál a fizetős cikkek szövegét az API is csak előfizetőnek adja ki, és egy előfizetői fiókkal egyszerre legfeljebb két eszközön lehet belépve. A sütihozzájárulást úgy állítjuk be, hogy a mérőkódok csak a látogató döntése után induljanak. A Drupal-mag és a bővítmények biztonsági frissítése az üzemeltetés része, ezt is óradíjban végezzük.

Amit először megnézünk

  1. Mely űrlapokon jön spam, és kell-e egyáltalán az az űrlap vagy a nyilvános regisztráció.
  2. Elérhető-e fizetős vagy belső tartalom belépés nélkül: fájlok, API-válaszok, publikálatlan fordítások.
  3. Szerepkörök és jogosultságok: ki mit lát és módosíthat, van-e valakinek felesleges adminjoga.
  4. Elindul-e mérőkód a sütihozzájárulás előtt, és elutasíthatók-e a statisztikai sütik.
  5. Van-e adatkezelési hozzájárulás a regisztrációs és kapcsolati űrlapokon.
  6. Mennyire maradt el a Drupal-mag és a bővítmények biztonsági frissítése.

Ár és idő

Mekkora munka?

A legtöbb ilyen javítás apró. A spamvédelem cseréje, a sütihozzájárulás rendbetétele vagy egy kiszivárgó API-mező lezárása általában a kicsi sávnál (10–25 óra) is kevesebb. Egy szerepkör szerinti dokumentumtár vagy a jogosultsági rendszer átalakítása már a kicsi, nagyobb rendszernél a közepes sávba esik (25–60 óra). Ha a rendszer több verzióval elmaradt, az frissítési munka, azt külön becsüljük. Az ingyenes konzultáción végignézzük, mi sürgős, és mi várhat.

Fejlesztés: 20 000 Ft + áfa / óra. Az első konzultáció ingyenes. Árak és méretsávok

Valós példák

Ilyet már megoldottunk

Minden példa valós, a saját projektjeinkből, ügyfélnév nélkül.

Ingatlanfejlesztő cég

Belső dokumentumtár szerepkör szerinti hozzáféréssel

Helyzet: A belső dokumentumokat a weboldalon akarták tárolni úgy, hogy mindenki csak a neki szánt anyagokat lássa és töltse le.

Megoldás: Dokumentumtárat építettünk, ahol hozzáférési címkék szabják meg, melyik szerepkör mit láthat. A letöltés és a szerkesztés is jogosultsághoz kötött.

Drupal 10

Saját webshop-platform

Több webshop egy infrastruktúrán, egymástól elzárt adatokkal

Helyzet: Több bolt fut közös infrastruktúrán, ezért egyik bolt adatai sem kerülhetnek a másikhoz a keresőben, a képtárban vagy a gyorsítótárban.

Megoldás: Boltonként külön keresőindexet, külön tárhelyterületet és külön gyorsítótárat rendeltünk hozzá. A tesztelés közben talált izolációs rést is lezártuk.

MedusaNode.jsRedisMeilisearch

Országos kulturális intézmény

Nyilvános API védelme adatszivárgás és túlterhelés ellen

Helyzet: Biztosra akartak menni, hogy a nyilvános API nem ad ki publikálatlan adatot, és nem lehet túlterhelni.

Megoldás: Kiszűrtük a publikálatlan kapcsolódó tartalmakat és fordításokat, és szigorú paraméterellenőrzést vezettünk be. Hívónként percenként 60 kérésre korlátoztuk a lekérdezéseket.

Drupal 11PHP

Országos hetilap

Fizetős cikkek szövege nem érhető el az API-n keresztül

Helyzet: A fizetős cikkek teljes szövege a programozói felületen keresztül előfizetés nélkül is elérhető volt.

Megoldás: Mezőszintű hozzáférés-ellenőrzést vezettünk be, így a fizetős cikkek szövegét az API is csak előfizetőknek adja ki.

Drupal 11JSON:API

Virág-webshop

Szabályos sütihozzájárulás többnyelvű oldalon

Helyzet: Az oldalnak meg kellett felelnie a sütikre vonatkozó szabályoknak, és hozzájárulást kellett kérnie a látogatóktól.

Megoldás: Új sütikezelő megoldást vezettünk be beállítófelülettel és fordításokkal, a régi adatvédelmi felugró ablakot kikapcsoltuk.

Drupal 10PHP

Sofőrállás-portál

GDPR-hozzájárulás a regisztrációs és jelentkezési űrlapokon

Helyzet: Az űrlapoknak meg kellett felelniük a GDPR-nak, a felhasználóknak el kellett fogadniuk az adatkezelési tájékoztatót.

Megoldás: Hozzájárulási jelölőt tettünk a regisztrációs és egyéb űrlapokra. Az adatkezelési tájékoztató felugró ablakban olvasható el.

Drupal 9

Sofőrállás-portál

Szabályos sütihozzájárulás elutasítható statisztikai sütikkel

Helyzet: Új, szabályos sütihozzájárulási ablak kellett, ahol a látogató elutasíthatja a statisztikai sütiket.

Megoldás: Új hozzájárulási ablakot állítottunk be, és a Google Analytics csak a látogató beleegyezése után indul el. A mobilos megjelenést is javítottuk.

Drupal 9Google Analytics

Virág-nagykereskedés

Szabványos sütihozzájárulás a régi felugró ablak helyett

Helyzet: A régi adatvédelmi felugró ablakot a hirdetési partnerek nem fogadták el szabályos hozzájáruláskezelőnek.

Megoldás: Az InMobi Choice hozzájáruláskezelőt építettük be az oldalba, a régi felugró ablakot kikapcsoltuk.

Drupal 9InMobi Choice

Precíziós alkatrészgyártó cég

Jelszóval védett előnézet a fejlesztés alatt álló oldalhoz

Helyzet: A készülő weboldalt csak a fejlesztők és az ügyfél láthatták, és a Google sem indexelhette.

Megoldás: Cloudflare Workers-en bejelentkezőoldalt állítottunk be aláírt, 24 órás belépési sütivel. Minden oldal tiltja a keresők indexelését.

Cloudflare WorkersJavaScriptCloudflare

Bútorkereskedés

A mérőkódok ne fussanak le a sütihozzájárulás előtt

Helyzet: A sütihozzájárulás ablaka túl későn töltődött be, így a mérőkódok a látogató döntése előtt elindulhattak.

Megoldás: A hozzájáruláskezelőt az oldal fejlécébe tettük, és azonnal elindul. A már nem használt régi Google Analytics kódot eltávolítottuk.

Drupal 10Google Analytics

Utazási webshop

Spam-regisztrációk megállítása

Helyzet: Tömegesen érkeztek kamu regisztrációk az oldalra.

Megoldás: Előbb captchát, majd reCAPTCHA-t tettünk a regisztrációs és a jelszó-visszaállító űrlapra. Mivel a regisztrációra nem volt szükség, végül lezártuk a nyilvános regisztrációt.

Drupal 8reCAPTCHA

Utazási webshop

Spamszűrés képes feladványok nélkül

Helyzet: Az űrlapokon továbbra is sok spam érkezett, de a látogatókat nem akarták képfelismerős feladványokkal bosszantani.

Megoldás: Bevezettük a háttérben, láthatatlanul működő reCAPTCHA v3 védelmet, és lefordítottuk a hibaüzeneteket.

Drupal 8reCAPTCHA

Mind a 18 kapcsolódó feladat a Munkáink oldalon →

Kérdések és válaszok

Amit ezzel kapcsolatban kérdezni szoktak

A captcha nem riasztja el a valódi látogatókat?

A képes feladványok igen, ezért inkább a háttérben futó ellenőrzést használjuk, például a reCAPTCHA v3-at vagy a Cloudflare Turnstile-t. Ezek a valódi látogatónak jellemzően nem adnak feladatot. Előtte érdemes megnézni, kell-e az űrlap egyáltalán nyilvánosan.

Elég, ha kiteszek egy süti-felugró ablakot?

Nem elég, ha a mérőkódok már az ablak megjelenése előtt lefutnak. A hozzájáruláskezelőnek az oldal betöltésekor azonnal el kell indulnia, és a Google Analytics csak beleegyezés után indulhat. Volt, ahol a hirdetési partner a régi ablakot nem fogadta el, és szabványos hozzájáruláskezelőre kellett váltani.

Megakadályozható, hogy egy előfizetést többen használjanak?

Igen. Az egyidejű bejelentkezések számát fiókonként korlátozni lehet. Egy hetilapnál ez kettő, minden oldalon. Ennél több eszközön nem lehet egyszerre belépve lenni.

Kinél vannak a hozzáférések a szerverhez és a kódhoz?

A szerver, a domain és a kód a te nevedre szól. Mi a munkához kapott hozzáféréssel dolgozunk. Így ha munkatárs vagy szolgáltató vált, a hozzáféréseket te tudod visszavonni.

Nézzük meg a te esetedet

Egy óra, telefonon, videón vagy személyesen, ingyen. A végén megmondom, mit javaslok, és körülbelül mibe kerülne, akkor is, ha az a válasz, hogy nincs szükséged ránk.