Hjem Personlig finansiering Hvordan unngå kodeinjeksjon i C ++ - dummies

Hvordan unngå kodeinjeksjon i C ++ - dummies

Video: Slik unngår du å bli krenket 2025

Video: Slik unngår du å bli krenket 2025
Anonim

Den første regelen om å unngå kodeinjeksjon inn i C ++-programmer er aldri noensinne tillat brukerinngang å bli behandlet av en tolkespråker med allment bruk. En vanlig feil med SQL-injeksjon er at programmet aksepterer brukerinngang som om den alltid var akseptabel og legger den inn i en SQL-spørring som den deretter sender ut til databasemotoren for behandling.

Som et eksempel kan et program som ber om brukerinngang på en dato bli hacket. Den sikreste og mest brukervennlige tilnærmingen ville være å gi brukeren en kalenderenivå som han kunne velge start- og sluttdato for. Programmet vil da opprette en dato basert på hva brukeren klikket på.

Hvis dette ikke er mulig, bør programmet nøye sjekke inngangen for å kontrollere at inngangen var i riktig format for en dato, i dette tilfellet åååå / mm / dd < - med andre ord fire siffer etterfulgt av et skråstrek etterfulgt av to siffer og et skråstrek og til slutt to andre sifre. Ingenting annet bør betraktes som akseptabel innsats. Noen ganger kan du ikke være så spesifikk om formatet. Hvis du må la brukeren legge inn fleksibel tekst, kan du i det minste unngå spesialtegn. For eksempel er det ganske mye umulig å gjøre SQL-kodeinjeksjon uten å bruke enten et enkelt eller dobbelt tilbud.

Du kan ikke sette inn HTML-koder uten å bruke et mindre enn () tegn. Eller du kan bare ta tilnærmingen at noe annet enn ASCII-tekst ikke tolereres:

// sjekk litt streng 'for å sikre at det er rett ASCII size_type off = s. find_first_not_of ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890_"); hvis (av! = streng:: npos) {cerr << "errorn";}

Denne koden søker i strengen

s for et tegn som ikke er et av tegnene A til og med Z, a til og med z, 0 til 9 eller understreke. Hvis den finner et slikt tegn, avslår programmet inngangen.

Hvis du bare tillater de latinske tegnene som vises her, vil søknaden din ikke bli brukbar på mange utenlandske markeder som de som ikke bruker engelske tegnsett (for eksempel arabisk, kinesisk, hebraisk eller Russisk, for å nevne noen få). Du må kanskje ta motsatt tilnærming og bare se etter de dårlige tegnene.
Hvordan unngå kodeinjeksjon i C ++ - dummies

Redaktørens valg

Hvordan lage Baseball Practice Fun - Dummies

Hvordan lage Baseball Practice Fun - Dummies

Som baseball trener må du ikke bare lære laget ditt grunnleggende i spillet, må du lære disse grunnleggende morsomme, slik at spillerne blir interessert og engasjert. Bruk tipsene i følgende liste for å gjøre baseballøvelsen morsom: Sørg for mange repetisjoner for hvert barn. Stopp treningen kort ...

Basisspillers ansvar i Baseball - dummies

Basisspillers ansvar i Baseball - dummies

Baseball trener er ikke bare ansvarlige for lagspillet som en hel, men for coaching spillere når de når første og tredje base i løpet av et baseballspill. Ansvaret for å coaching hver base er forskjellig. Hva en første basissjåfør gjør: Oppfordrer smeten til å kaste ned første baseline på infield hits. ...

Hvordan fantasy baseball ligaene blir scoret - dummies

Hvordan fantasy baseball ligaene blir scoret - dummies

Fantasy baseball har tre hovedspillformater som bestemmer hvordan ligaen din score punkter. Spillformatene for fantasybaseball er Rotisserie, Head-to-Head One Win og Point System. Hvert format blir scoret avhengig av ligaoppsettet. For eksempel vil 5 × 5 liga score poeng eller gevinster / tap på fem forhåndsvalgte treffstatistikk, samt fem ...

Redaktørens valg

Praktiserer dag til dag, uformell oppmerksomhet - dummies

Praktiserer dag til dag, uformell oppmerksomhet - dummies

Kan trene det når som helst. Uformell oppmerksomhet meditasjon er når du trener oppmerksomhet uten å skille ut en spesiell tid for det. Her er ti eksempler på uformell oppmerksomhet: Mindful kommunikasjon - Når du snakker eller hører på noen andre, blir du klar over lyden av ...

Forbli lekfull og lyshjerte når du praktiserer Mindfulness - dummies

Forbli lekfull og lyshjerte når du praktiserer Mindfulness - dummies

En nydelig holdning til å ha oppmerksomhet og Livet generelt er lekenhet og lethed. Hvis en meditasjon ikke virker for deg første gang eller ikke føles riktig for deg, ikke vær panikk, men tenk på opplevelsen som et eksperiment som du kan prøve igjen senere. Tilnærming oppmerksomhet som du ville et nytt spill eller ...

Redaktørens valg

Valg av resolusjonsstørrelse på et Canon EOS Rebel T3-serie kamera - dummies

Valg av resolusjonsstørrelse på et Canon EOS Rebel T3-serie kamera - dummies

For å bestemme seg for en Kvalitetsinnstilling (eller bildeoppløsningstørrelse) for Canon Rebel T3 eller T3i, den første avgjørelsen du må gjøre er hvor mange piksler du vil at bildet skal inneholde. Piksler er de små firkantede fliser hvorfra alle digitale bilder er laget; piksel er kort for bildeelement. Hvis din ...

Hvordan du lager videobilder på Rebel T7i / 800D - dummies

Hvordan du lager videobilder på Rebel T7i / 800D - dummies

Videoopplastingsfunksjonen på Canon EOS Rebel T7i / 800D fanger korte videoklipp som er sydd i et enkelt opptak, kalt et videoalbum. Du kan stille klippelengden til 8, 4 eller 2 sekunder lang (men alle klippene i et album må ha samme lengde). Med tanke på individets korthet ...