MCP Academy · leksjon

Eksponere SQL-spørringer på en trygg måte

Tilby lesetilgang til en database uten injeksjoner.

Leksjon 1 av 413 trinn

Eksponere SQL-spørringer på en trygg måte er en gratis leksjon i MCP Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i MCP Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i MCP Academy inneholder totalt 4 leksjoner.

Databaser bak et verktøy

En MCP-server kan gi en modell ekte data ved å legge en database bak et verktøy, slik at KI-en stiller spørsmål i stedet for å berøre råtabeller. 🗄️

Lesing, ikke skriving

Av sikkerhetshensyn bør du begynne med å eksponere bare read-tilgang. La modellen spørre og rapportere, men hold innsettinger, oppdateringer og slettinger utilgjengelige.

Faren ved injeksjon

Lim aldri modelltekst direkte inn i SQL. Det inviterer til SQL injection, der utformede inndata omskriver spørringen og lekker eller ødelegger data.

query = "SELECT * FROM users WHERE id = " + user_input  # unsafe!

Bruk parameteriserte spørringer

Løsningen er parameterized queries: du skriver plassholdere, og driveren binder verdiene på en trygg måte, slik at inndata aldri kan endre spørringens struktur.

cur.execute("SELECT * FROM users WHERE id = ?", (user_id,))

Ta verdier som argumenter

La modellen sende verdier som typede arguments, og bygg deretter spørringen. Modellen leverer data, aldri selve SQL-teksten.

@mcp.tool()
def find_user(user_id: int) -> str:
    ...

Lås spørringsstrukturen

Hold SQL-en fixed i koden din, og sett bare inn bundne parametere. En låst spørringsstruktur er den enkleste måten å holde seg trygg på.

Bruk en skrivebeskyttet rolle

Forsvar i dybden: Koble til med en databasebruker som bare har read-only-tilgang. Selv et feilende verktøy kan da ikke fysisk endre eller slette dataene dine.

Begrens resultatstørrelsen

Begrens alltid antall rader med en LIMIT, slik at én bred spørring ikke kan dumpe en enorm tabell inn i modellen og bruke opp tokenbudsjettet.

cur.execute("SELECT name FROM users LIMIT 50")

Hvitelist tillatte tabeller

Hvis modellen velger en tabell, validerer du den mot en allowlist. Avvis alt som ikke står på listen, i stedet for å stole på navnet.

Returner ryddige rader

Formater resultatene som ren tekst eller enkle poster, slik at modellen kan lese dem lett. Clarity inn gir klarhet ut i neste resonneringstrinn.

Skjul sensitive kolonner

Velg bare kolonnene oppgaven trenger. Hvis du utelater secrets som passord-hasher, holdes private data helt borte fra modellen.

Rask kontroll

Hva beskytter et SQL-verktøy mot injeksjon?

Oppsummering: Sikker SQL

Du eksponerte en database på en sikker måte: parameterized skrivebeskyttede spørringer, tabeller i en allowlist og radbegrensninger. Deretter pakker du inn et web-API. 🎯

Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Eksponere SQL-spørringer på en trygg måte» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien MCP Academy, inkludert «Eksponere SQL-spørringer på en trygg måte», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i MCP Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Eksponere SQL-spørringer på en trygg måte»?

Tilby lesetilgang til en database uten injeksjoner. Du øver på MCP Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med MCP Academy?

Ingen tidligere erfaring er nødvendig. MCP Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Eksponere SQL-spørringer på en trygg måte»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne MCP Academy-leksjonen?

Ja. Alle MCP Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Eksponere SQL-spørringer på en trygg måte
  2. Pakke inn et REST-API som verktøy
  3. Pool-tilkoblinger i lifespan
  4. Bufre og hastighetsbegrense oppstrømskilder
← Tilbake til MCP Academy