sql >> Databasteknik >  >> RDS >> Mysql

Visar tabellnamn och fältnamn i begäran URL

Jag har inga problem med att använda samma (eller mycket liknande) namn i URL:en och databasen — visst, du kanske "exponerar" implementeringsdetaljer, men om du väljer radikalt olika namn i URL:en och DB:n, re väljer förmodligen dåliga namn. Jag är också ett fan av konsekvent namngivning — kommunikation med kodare/testare/kunder blir mycket svårare om alla kallar allting något annorlunda.

Det som stör mig är att du låter användaren köra godtyckliga frågor på din databas. http://.../index.php?table=users&user_id=1 , säg? Eller http://.../index.php?table=users&password=password (inte för att du ska lagra lösenord i klartext)? Eller http://.../index.php?table=users&age=11 ?

Om användaren som är ansluten till DB har samma behörigheter som användaren som sitter framför webbläsaren kan det vara vettigt. I allmänhet kommer det inte att vara fallet, så du behöver ett lager som vet vad användaren är och inte får se, och det lagret är mycket lättare att skriva korrekt genom att vitlista.

(Om du har fastnat tillräckligt med logik i lagrade procedurer kan det fungera, men då kommer dina lagrade procedurer att hårdkoda kolumnnamn...)



  1. Hur tillåter jag att en rullgardinsparameter i SSRS har ett standardvärde på -- Alla -- ?

  2. oracle autoincrement med sekvens och trigger fungerar inte korrekt

  3. I SQL Server, hur genererar jag en CREATE TABLE-sats för en given tabell?

  4. Kan inte trunkera tabellen eftersom den refereras av en FOREIGN KEY-begränsning?