Jesper Brunholm wrote in <3dfa60ed$1@news.wineasy.se>:
> Next er min delkonklusion af køre op mod et badwords-array med i hvert
> fald 'drop' og 'delete' (og lidt mere...), og fjerne de uønskede ord fra
> input - der er sjældent grund til at man skal kunne søge efter netop de
> ting...
På den anden side, den sjældne gang folk søger på det, synes jeg da at de
skal have lov.
Prøvede lige at leget lidt med en søgefunktion på et site jeg arbejder på
nu. En søgning på drop og select gav brugbare resultater. :)
Desuden synes jeg det er langt lettere at sørge for, at folk kan skrive hvad
som helst (addslashes() / DB::quote()), end at lave en liste med
undtagelser, som alligevel aldrig bliver komplet. :)
> Et modtræk er også at lukke for table-modification fra andre end en
> selv, hvis man kan få sat db'en op til det (har jeg læst - jeg har ikke
> lov til det på de db'er som jeg arbejder på - udover de 4 hvor det er
> gjort som server-default
)
Yeps. Jeg kan finde på at lave fx. 3 forskellige logins til et enkelt site.
1) Bruges af den offentlige del af sitet, meget begrænsede rettigheder.
2) Bruges af admin-delen af sitet.
3) Bruges af db-admin (mig), når der fx. skal pilles ved tabeller.
> Vi er selvfølgeligt ovre i et emne hvor årsagen til at man ikke lige kan
> læse en "hot to-do's tutorial" online er at hackerne så ved hvordan man
> har beskyttet sig hvis de gider søge lidt...
Nogle ting tager man nu ikke skade ved at hackerne ved, bla. fordi de fleste
ved det i forvejen. :)
Strenge escapes, tal sikrer man sig rent faktisk også er tal osv.
Jeg har set sjove ting, hvor folk fx. bevist laver SQL-injections. Noget med
at de kan lave WHERE-delen af en SQL-query ved at drøne $_GET igennem. Ikke
smart. :)
Og så lige det med adgangsbegrænsning. Enhver ved at man på ca. alle
webhoteller har én db-konto med adgang til alt anden end "drop database".
Jeg tror ikke der er noget galt i at nogen finder ud af, at man har sat det
mere fornuftigt op end det.
> Ja - man kan godt få sved på panden ved tanken om hvad ens tidlige
> "bedrifter" udi online-tjenester let kunne være blevet udsat for fordi
> man ikke var obs på hvad man skulle gøre udover at "få det til at virke"
>
Når jeg har fået noget til at virke, har jeg typisk brugt under 10% af
udviklingstiden.
(Og her ser vi enda helt bort fra forberedelserne inden der skrives kode)
Det plejer kunder at være imponerede over. Hvis man fx. aftaler et projekt
med 14 dage til deadline, og dagen efter kan kunden lege med en grim,
brugerUvenlig men dog nogenlunde fungerende version. :)
--
Mvh.
Niels Andersen
(la nels. anersyn.)