Eksport af ordrer ligner den mest harmløse funktion i et admin-panel. Læs nogle ordrer, skriv nogle rækker, send en fil. Det er også et af de få steder, hvor tekst, som en fremmed har skrevet på din hjemmeside, ender med at blive kørt på dit personales computere.
Sådan forvandler et regneark tekst til kode
Excel og Google Sheets behandler begge en celle, der starter med et lighedstegn, et plus, et minus eller et snabel-a, som en formel og ikke som tekst. Det er præcis, hvad du vil have, når du skriver den. Det er ikke, hvad du vil have, når cellen blev udfyldt af en kunde.
Kundenavne, leveringsadresser og ordrenoter er alle fri tekst, der havner i en eksport. En note, der starter med et lighedstegn, er ikke længere en note, men en instruktion, og den kører, når en medarbejder åbner filen for at tjekke dagens ordrer. Selve hjemmesiden røres aldrig, og derfor overlever denne type problem sikkerhedsgennemgange, der kun kigger på hjemmesiden.
Rettelsen er lille og hører til ved skrivningen
Hver værdi, der skrives til filen, tjekkes, og alt, der starter med et af de tegn, får et enkelt anførselstegn foran, hvilket fortæller regnearket, at hele cellen skal behandles som tekst. Det anvendes på alle kolonner og ikke kun dem, der ser risikable ud, fordi antallet af felter, en kunde kan påvirke, vokser, hver gang nogen tilføjer et felt til checkout.
At gøre det ved skrivningen frem for ved indtastning betyder også noget. Den gemte ordre bør beholde præcis det, kunden skrev; escaping hører til destinationen, og en CSV-fil har andre regler end en HTML-side eller en databaserække.
Den anden halvdel: hvem må eksportere
Et eksport-endpoint udleverer butikkens samlede kundeliste i én forespørgsel, så der tjekkes for de rette rettigheder, før noget læses, og de indsendte filtre renses til et kendt sæt muligheder i stedet for at blive sendt direkte videre til forespørgslen. Ordrer hentes i portioner, så et bredt datointerval giver en komplet fil i stedet for at time ud halvvejs og levere en afkortet.
Det vigtigste
- Al tekst, en kunde kan skrive, er upålidelig på hver destination, ikke kun i browseren.
- CSV er i praksis et eksekverbart format; behandl det som et.
- Escape ved skrivningen, og hold den gemte post tro mod det, der blev indtastet.
- Anvend reglen på alle kolonner; listen over felter, kunderne kan påvirke, bliver ved med at vokse.
- Et eksport-endpoint er et endpoint til massedata. Tjek rettigheder, før noget læses.
Læs også: egne ordrestatusser, der holder rapporterne ærlige, egen styring af kolonner på mobil.
Støder du på en lignende begrænsning i din egen WooCommerce- eller WordPress-butik? Lad os tale — ArtinTech Solution bygger netop den slags skræddersyede værktøjer til webshops.