Muutosloki — PrestaWard Facet Shield
Tämä muutosloki esittää versioittain muutosten vaikutukset verkkokauppoihin ja verkkokaupan tiimeihin.
0.1.16
- Uutta: rajoitukset kategorioittain ja luettelotasoittain. Yhdellä kategorialla tai kaikilla tietyn tason kategorioilla voi olla omat rajoituksensa (kyselyn koko, facettit, kokonaisarvot ja facettien arvot); tyhjä rajoitus käyttää seuraavaa tasoa, ja yleiset rajoitukset pysyvät perustana. Integrityn allekirjoitettu käytäntö rajoittaa myös kategorioiden rajoituksia.
- Uutta: ehdotetut rajat kategorioittain. Paneeli listaa kategoriat, jotka tarvitsevat erillisen rajan, ja näyttää, kuinka monen pyynnön jälkeen ne tällä hetkellä estettäisiin sekä ehdotetun rajan, ja raja voidaan asettaa kategorialle yhdellä napsautuksella. Käytä uudelleen yleistä ehdotusta koskevaa vankkaa sääntöä: kategoriaa, joka vaikuttaa automatisoidulta hakutoiminnalta, ei koskaan löysätä.
- Uutta: Pilottisuojaus kategorioittain. Kun kauppa on Tarkkailussa, valitsemasi kategoriat voidaan lukita, kun taas muut pysyvät Tarkkailussa. Edellyttää voimassa olevaa allekirjoitettua Integrity-käytäntöä (ilman sitä Facet Shield pysyy Tarkkailussa kuten aiemminkin) sekä nimenomaista vahvistusta kategorioittain; pilottitoiminnon lopettaminen tapahtuu yhdellä napsautuksella.
- Uusi: pyynnön rajoitus osoitetta kohti, valinnainen. Laskee facetoidut pyynnöt minuuttia ja osoitetta kohti (oletusarvo 30 minuuttia, välillä 5–600); rajan ylittyessä Suojaus-tilassa osoite estetään väliaikaisesti (oletusarvoisesti yksi tunti, enintään 24 tuntia) HTTP 429 -virheellä ja Retry-After-asetuksella, ja Tarkkailu-tilassa se vain lasketaan. IP-osoitteita ei tallenneta lainkaan: tallennetaan vain avaimella suojattu hajautusarvo, joka poistetaan pian eston päättymisen jälkeen, joten pysyvää mustaa listaa ei ole. Osoite on se, jonka PrestaShop tunnistaa (luotettavien välityspalvelimien avulla); sallittujen listallasi olevia osoitteita ja osoitealueita ei koskaan lasketa mukaan, eikä tietokantaongelma koskaan estä asiakasta.
- Uutta: vahvistetut hakukoneet. Suojaus-osiossa Googlebot tai Bingbot, jonka käänteinen ja suora DNS-osoite täsmää virallisten palvelimien kanssa, saa 403-virheen sijaan kevyen vastauksen, jossa on noindex-määre ja kategorian kanoninen URL, jolloin suodattimen URL poistuu hakemistosta eikä facettien SQL-kyselyä suoriteta. Kysely lähetetään vain sille, joka väittää olevansa yksi näistä hakukoneista; tulos tallennetaan välimuistiin (24 tuntia, jos se on kelvollinen, yksi tunti, jos ei) ja kyselyjen määrä on rajoitettu minuuttia kohti koko kauppaan.
- Vääriä positiivisia tuloksia koskevat merkinnät: rajat ylittävät pyynnöt lasketaan mukaan myös silloin, kun ne tulevat asiakkaalta, jolla on istunto käynnissä, vahvistetulta hakukoneelta tai nopeana sarjana, jossa on vähintään kymmenen pyyntöä minuutissa, ja tilastot esittävät nämä kolme lukua suhteellisina osuuksina. Pyrähdyksiä mitataan, kun osoitekohtainen raja on käytössä.
- Uutta: valinnaiset sähköpostihälytykset, jotka perustuvat kaupan sähköpostiasetuksiin: välimuistin nopea kasvu (enintään kerran päivässä), estettyjen pyyntöjen huipput (enintään kuuden tunnin välein) sekä erillinen viikoittainen yhteenveto, jopa viidelle valitsemallesi vastaanottajalle sekä testisähköpostipainikkeella. Tekstissä ei ole PDF-tiedostoja eikä linkkejä. Viestit lähetetään taustalla suoritettavan ylläpidon yhteydessä, ei koskaan sivua asiakkaalle toimitettaessa.
- Uutta: automaattinen välimuistin tyhjennys, valinnainen. Kun facettihakujen välimuisti ylittää valitsemasi koon, Facet Shield pyytää moduulia ps_facetedsearch tyhjentämään oman välimuistinsa kyseisen moduulin tarjoamalla menetelmällä, enintään kerran päivässä, ja kirjaa tämän tukilokiin. Jos asennetussa versiossa ei ole kyseistä menetelmää, mitään ei muuteta. Facet Shield ei edelleenkään koskaan tyhjennä toisen moduulin taulukoita.
- ps_facetedsearch:n haavoittuvista versioista annettu ilmoitus, joka perustuu moduuliin sisältyvään pieneen taulukkoon (mitään ei ladata): versiot 3.0.0–4.0.3 ovat alttiita CVE-2026-54159-haavoittuvuudelle, joka on korjattu versiossa 4.0.4, ja paneeli suosittelee päivittämistä.
- Paneeli on järjestetty välilehdiksi (Yhteenveto, Rajoitukset ja kategoriat, Liikenne ja botit, Tilastot, Välimuisti ja ylläpito sekä Asetukset). Yhteenveto-välilehdessä näkyy vain tila, viimeiset 24 tuntia, yksi päätoiminto ja enintään yksi hälytysrivi; lasketaan vain avoinna oleva välilehti. GO ON Agencyn paneelilla on oma välilehtensä, Tuki, joka on aina viimeisenä, ja Integrity-tila näkyy kaikkien välilehtien lopussa. Otsikossa näkyy nyt GO ON Agencyn logo.
- Välilehti ”Rajat ja kategoriat” on järjestetty kortteihin: yleiset rajat, ehdotusten vaikutus normaalikokoisilla painikkeilla ja sääntötaulukko kategorioittain, jossa on lomake uuden säännön lisäämistä varten. Välilehti ”Välimuisti” käyttää taitettavia lohkoja ja yhtä riviä tilastoja.
- Hälytysviesteissä näkyy kaupan logon otsikossa (kaupan nimi vaihtoehtoisena tekstinä) ja yhteinen alatunniste, jossa on GO ON Agencyn logo ja allekirjoitus ”PrestaWard by GO ON Agency”, ilman linkkejä tai yhteystietoja. Alatunnisteen logo on moduulin oma tiedosto, jota toimitetaan kauppastasi.
- Yhtenäinen ulkoasu neljässä PrestaWard-paneelissa: osioiden otsikot, lomakekortit neutraaleilla reunoilla ja yhteiset taitettavat lohkot, tilastot yhdellä rivillä sekä suurempi GO ON Agency -logo otsikossa. Pääpainike on nyt brändin yhtenäinen väri ilman väriliukua.
- Korjaa sen, että PrestaShop 9:ssä hallintateema näytti välilehdet alleviivattuina linkkeinä ja osioiden otsikot isoilla kirjaimilla. Yleiset tyylit kumovat tämän vaikutuksen vain PrestaWard-paneelin sisällä, joten PrestaShop 1.7 ja 8 näyttävät samalta kuin ennenkin.
- Korjaa sen, että PrestaShop 1.7:ssä moduulin tyylitiedosto hylättiin, kun se rekisteröitiin osoitteeseen, jossa oli versionumero. Nyt tiedosto tarkistetaan ja rekisteröidään ilman parametreja, jolloin uusi ulkoasu näkyy versioissa 1.7, 8 ja 9.
- Korjaa sen, että PrestaShop 9:ssä hallintapaneelin toimintolomakkeet ja synkronointi Integrityn kanssa tarkistavat turvatunnuksen menetelmällä, jota PrestaShop 9 ei käytä, minkä vuoksi ne saattaisivat hylätä tunnuksen. Nyt se validoidaan PrestaShop 9:ssa: palvelun avulla; PrestaShop 1.7:ssä ja 8:ssa tarkistus toimii edelleen samalla tavalla.
- Kun yhteyttä Integrityyn ei voida päivittää sillä hetkellä, paneeli näyttää yhden viestin: tallennettu yhteys on edelleen voimassa ja yhteyden muodostamista yritetään uudelleen automaattisesti. Kaikkien välilehtien otsikot on käännetty yhdeksälle kielelle.
- Korjaa sen, että yhteys Integrityyn heikkeni ”kaikki kaupat” -kontekstissa: asennuksen tunniste luetaan nyt yhtenä kokonaisuutena globaalista alueesta (tai sen tallentaneesta kauppaa) missä tahansa kontekstissa; päivitys siirtää kauppaa tallentaman tunnisteen globaaliin alueeseen uudelleenluomatta sitä, ja jos tunnisteen lukeminen ei onnistu, Integrityn tila säilytetään ennallaan.
- Korjattu virhe, jonka vuoksi Cache-välilehden taulukko siirtyi muutaman pikselin verran sivusuunnassa työpöydällä: säilö täyttää nyt marginaalien välisen tilan.
- Kaikki uudet tekstit ovat saatavilla moduulin yhdeksällä kielellä. Päivitys lisää pienen taulukon ja kolme laskuria pyyntötilastoihin, mutta se ei itsessään aktivoi mitään; sopimus Integrity API:n kanssa ei muutu, ja voimassa oleva allekirjoitettu käytäntö voi edelleen vain tiukentaa rajoituksia.
0.1.15
- Pyynnöstilastot eivät enää kasva rajattomasti: joka tunti yli tunnin vanhat minuuttikohtaiset tietueet ryhmitellään yhdeksi tuntikohtaiseksi tietueeksi muuttamatta kokonaismääriä tai kaavioita, ja uuden ”Tilastojen säilytysaika (päivää)” -asetuksen (oletusarvo 90, välillä 30–365) mukaista aikaa vanhemmat tietueet poistetaan pienissä erissä taustalla, ei koskaan silloin, kun sivua toimitetaan asiakkaalle.
- Bot-diagnostiikka ei enää lopeta näytteiden keräämistä saavuttaessaan 500: se säilyttää uusimmat ja hylkää vanhimmat. Tätä säätää asetus ”Säilytettävät diagnostiikanäytteet” (oletusarvo 500, välillä 50–5000).
- Uusi ”Ehdotetut rajat” -paneeli: se ehdottaa Tarkkailussa rekisteröidyn liikenteen perusteella arvoa jokaiselle rajalle (kyselyn koko, facettit, kokonaisarvot ja arvon facettikohtaiset arvot), näyttää kuinka monta pyyntöä nykyiset rajat estävät ja kuinka monta ehdotus estäisi, ja selittää pääsyyn, esimerkiksi mikä suodatin mistä kategoriasta aiheuttaa eniten ylityksiä. Painikkeella sovelletaan neljä ehdotettua rajaa valittuun kauppaan tilan vaihtamatta.
- Ehdotukset eivät ole koskaan tiukempia kuin oletusraja, ne eivät koskaan lievennä rajaa ja noudattavat Integrityn allekirjoittamaa käytäntöä, kun se on tiukempi. Jos muutama kategoria keskittää rajan ylittävät pyynnöt, suositus lasketaan lopun perusteella; paneeli osoittaa, mikä osa ylityksestä on peräisin mistäkin kategoriasta, eikä kyseistä rajaa muuteta sovellettaessa.
- Fasettihaun välimuistipaneeli erottaa välimuistitaulut indeksitauluista, näyttää niiden koon kehityksen viime päivinä ja antaa varoituksen, jos koko kasvaa nopeasti, huomioi kaupat, joissa ps_facetedsearch puuttuu tai on poistettu käytöstä, ja linkittää moduulin omiin asetuksiin. Facet Shield vain lukee näitä tauluja: se ei koskaan muokkaa tai poista niitä.
- Paneeli toimii huomattavasti nopeammin kaupoissa, joissa on paljon kirjattua liikennettä: kun tietueita on yli puoli miljoonaa, latausaika lyhenee noin 20 sekunnista muutamaan sekuntiin ja jopa sekunnin murto-osaan, jos sivu avataan uudelleen alle kymmenen minuutin kuluttua. Näytettävät luvut eivät muutu.
- Kaikki uudet tekstit ovat saatavilla moduulin yhdeksällä kielellä.
- Tuki- ja diagnoosipaneeli sijoitetaan aivan Integrity-osion eteen, kuten muissakin PrestaWard-moduuleissa, eikä se enää katoa ”kaikki kaupat” -kontekstissa: se osoittaa, että kauppa on valittava.
- Synkronoi Integrityn kanssa joka kerta, kun avaat hallintapaneelin, taustalla suoritettavalla pyynnöllä, joka ei koskaan hidasta sivun latautumista ja tapahtuu enintään kerran minuutissa ja kauppaa kohti.
0.1.14
- Lopettaa Integrityyn rekisteröitymisen uudelleenyrittämisen, kun kaupan rekisteröintiavain muuttuu, ja näyttää selkeän ilmoituksen.
- Uudistaa allekirjoitetun Integrity-käytännön ennen sen voimassaolon päättymistä ja säilyttää voimassa olevan käytännön ja sen rajoitukset, jos uusiminen epäonnistuu.
- Allekirjoitettu Integrity-käytäntö voi vain tiukentaa kaupassa määritettyjä rajoja, ei koskaan lieventää niitä: koon, fasettien lukumäärän, arvojen lukumäärän ja arvojen lukumäärän fasettia kohti osalta sovelletaan pienempää arvoa sinun rajasi ja käytännön rajan välillä, ja tilan (Tarkkailu tai Suojaus) päätät sinä.
- Korjaa mukana oleva politiikka-avain niin, että se toimii PHP 7.1:ssä ja 7.2:ssa.
- Lisää GO ON Agencyn tukipaneeli yhdeksällä kielellä, mukaan lukien ladattava diagnoosiraportti, joka ei sisällä asiakastietoja eikä lähetetä automaattisesti. Sen voi ladata vain työntekijä, jolla on muokkausoikeudet ja joka on valinnut tietyn kaupan.
- Ilmoita yhteensopivuus PrestaShop-versiosta 1.7.7.0 alkaen, joka on vanhin testattu versio.
0.1.13
- Korjaa rekisteröintikokeen ja Back Office -tehtävät PrestaShop 9:ssä.
- Hyväksyy molemmat sallitut omistusoikeuden testaus-URL-muodot, joissa on tiukka validointi.
- Parantaa vianmääritystä ja Integrityn rekisteröinnin uudelleenyrityksiä.
0.1.12
- Asennuksen poisto poistaa myös kategoriakohtaisten poissulkemisten taulun sekä kaikki Integrityn asetusavaimet (asennusvaihe, rekisteröintitesti, sinetöidyt tunnistetiedot ja avaimet) jälkiä jättämättä.
- Lisää puuttuvat
index.php-suojatiedostot ja suoran käytön tarkistuksen vakiolla _PS_VERSION_ Back Office -ohjaimeen ja kolmeen viimeiseen päivitysskriptiin, samoin kuin moduulin muihin sisäänkäyntikohtiin. - Ottaa käyttöön PrestaWardin yhteisen suunnittelujärjestelmän: Back Office -paneeli käyttää yhteistä tummaa otsikkopalkkia, yhtenäistettyä tilailmaisinta (Pois käytöstä/Tarkkailee/Suojaa) ja ”GO ON -seuranta”-paneelia, jotka toimitetaan yhdestä jaetusta, paikallisesti isännöidystä tyylitiedostosta.
0.1.11 — tietoturvapäivitys
- Luokkakohtaiset poissulkemiset estävät vain normaalin monimutkaisuuden analyysin: PHP:n täydelliset serialisointisignatuurit analysoidaan, kirjataan ja estetään edelleen aina Suojaus-tilassa.
ps_facetedsearch in versio 4.0.4 tai uudempi on dokumentoitu välttämättömäksi CVE-2026-54159-haavoittuvuuden korjaamiseksi; Facet Shield on edelleen osa monitasoista puolustusta, ei virallisen korjauksen korvike.
0.1.10
- Paikallinen URL-simulaattori tai
q, päivittäinen trendi olemassa olevien aggregaattien perusteella ja rajatut CSV-vienti. - Tarkastettavat poissulkemiset luokittain, pakollinen syy ja looginen poisto; IP-osoitteita tai käyttäjäagenteja ei suljeta pois.
- Suojauksen ensimmäinen aktivointi edellyttää omaa Tarkkailu-tilan näyttöä ja laskee varovaisen vaikutusarvion ehdokaskäytännöllä; ilman havaittuja pyyntöjä estoa ei voi ottaa käyttöön.
- Kaikki paketin tuotantokansiot sisältävät
index.php -tiedoston, joka lopettaa suorituksen, mukaan lukien views/js. - Ohjeessa kerrotaan, kuinka Integrity rekisteröidään uudelleen kauppakohtaisesti sen jälkeen, kun
_COOKIE_KEY_ on vaihdettu, ilman että aiempaa avainta palautetaan tai jaetaan. - Lisäsuojaus PHP:n täydellisiä serialisointipäällysteitä vastaan facettikyselyissä, estämättä kuitenkaan normaaleja arvoja, jotka sisältävät tekstiä, kuten
O:. - Kauppakohtaisesti konfiguroitava ilmoitus, kun facettihakun välimuistin arvio ylittää määritetyn kynnysarvon; moduuli ei poista tai päivitä mitään automaattisesti.
- Integrityn uudelleenkokeilut ja heartbeat-kyselyt eivät enää suoriteta minkään Back Office -näytön synkronisen renderoinnin aikana: ne ohjelmoidaan todennetun ja rajoitetun asynkronisen pyynnön avulla.
- Vanhan tapahtumayhteenvedon kysely poistetaan poistamatta historiallisia tietoja, ja olemassa oleva päivityspaneeli säilytetään ainoana ilmoituksena uusista versioista.
0.1.9
- Rekisteröinti käyttää nyt PrestaShopin omaa moduulien dispatcher-toimintoa eikä ole enää riippuvainen käyttäjäystävällisistä URL-osoitteista,
.htaccess -säännöistä tai reittien välimuistista. - Päivitys aiemmista versioista korjaa tarvittavat hookit idempotenttisesti poistamatta käytäntöjä tai tilastoja.
- Dashboardia avattaessa tarkistetaan automaattisesti, onko uutta versiota saatavilla. Välimuisti on kuusi tuntia, eikä Back Officea lukita, jos manifesti ei vastaa.
- Toimivuus on vahvistettu PrestaShop-versioissa 1.7, 8 ja 9.
0.1.8
- Suojaus rajoittuu todellisiin kategoria- ja hakuohjaimiin, jolloin vältetään sellaisten
q-parametrien estäminen, jotka eivät liity fasetteihin. - Estetyt
HEAD -pyynnöt palauttavat vain otsikot, ilman sisältöä. - Diagnoosi tunnistaa agentin ilmoitetun mukaisesti ja selittää oikein lyhennetyn user-agent-näytteen, joka säilytetään valinnaisesti.
- Integrity esitetään mahdollisimman yksinkertaisella yhteys- ja synkronointitilalla ilman käyttäjää hämmentäviä sisäisiä yksityiskohtia.
- Toiminnallinen yhteensopivuus on vahvistettu PrestaShop-versioissa 1.7, 8 ja 9.
0.1.7
- Automaattinen Heartbeat ilman cron-tehtävää: kaupan liikenne aktivoi rajoitetun paikallisen kyselyn, ja palvelin päivittää läsnäolotiedot Integrity API:lle paljastamatta tunnistetietoja selaimelle.
- Atominen kauppakohtainen lukitus, kuuden tunnin aikaväli ja viidentoista minuutin odotus virheiden jälkeen kaksoislähetysten estämiseksi.
- Myös Integrityn manuaalinen synkronointi päivittää Heartbeat-signaalin.
- Yhteensopivuus on vahvistettu PrestaShop-versioissa 1.7, 8 ja 9.
0.1.6
- Todennettu Heartbeat, automaattiset uudelleenyrittämiset ja yksityiskohtainen Integrity API -yhteysdiagnostiikka.
- Valinnainen diagnostiikka myös Tarkkailu-tilassa: agentin tunnistus, suodattimet botin ja syyn mukaan, sivutus sekä rajattu näyte fasettien yhdistelmästä.
- Järjestelmänvalvojan hallinnoima säilytys: näytteiden lukumäärä, arvioitu tila ja manuaalinen poisto Back Officesta.
- Visuaaliset ja vain luku -merkit, jotka koskevat kokoa, arvioituja tietueita ja fasettien välimuistitaulukoita.
- Uudelleenjärjestetty käyttöliittymä: Suojauksen tilat ja aktivointi kohdassa ”Mitä se tekee”, rajatut osiot ja Integrity API siirretty loppuun.
- Ei IP-osoitteita, evästeitä tai täydellisiä URL-osoitteita; tekstit saatavilla yhdeksällä kielellä.
- Asennus, lukitus, vianmääritys, välimuisti, poisto ja uudelleenasennus on testattu PrestaShop-versioissa 1.7, 8 ja 9.
0.1.5
- Automaattinen ja ei-estävä rekisteröinti Integrity API:hin kaupan hallinnan osoittamisen kautta.
- Asennus ei vaadi tilejä, API-avaimia eikä manuaalisia rekisteröintivaiheita.
- Allekirjoitetut ja todennetut käytännesäännöt, joihin sisältyy luotettavuuslinkkejä, sisältyvät versioon.
0.1.4
- Monimutkaisuushistogrammit ja atominen laskenta kaikista analysoiduista pyynnöistä.
- Arvojen rajat facettikohtaisesti, virheelliset pyynnöt ja rajoitettu pyynnön konteksti.
- Tarkkailun tila, tilastojakson alku ja kauppakohtainen suojattu nollaus.
- Käännetyt perustelut ja tilastot.
0.1.3
- Analysoitujen pyyntöjen, rajoissa pysyvien pyyntöjen, ylitysten ja todellisten estojen indikaattorit.
- Koosteet kauppa- ja minuuttikohtaisesti ilman IP-osoitetta, URL-osoitetta, käyttäjäagentin tietoja tai valittuja arvoja.
- Esteetön tilanvalitsin ja PrestaWardin visuaalinen kehys työpöydälle ja mobiililaitteille.
0.1.2
- Integrity API:a varten valmisteltu asennuksen ja kaupan tunniste.
- Allekirjoitettu käytäntö, jossa on kauppakohtainen viimeisin voimassa oleva tila ja turvallinen paluu Tarkkailu-tilaan.
- Yhteyden tila ja manuaalinen uudelleenyrittäminen Back Officesta, ilman kutsuja Front Officesta.