Op basis van de injectie

, als je de informatie van de gebruikers, de invoeging van een website en op basis van door de database is er een kans dat je al weg van hun eigen veiligheid, bekend als SQL open.Deze les zal leren hoe je helpen om dat te voorkomen, te helpen bij het beschermen van je script en op basis van de verklaring, injectie gebeurt meestal als je een gebruiker, net als hun naam, en niet een naam, ze geven je een verklaring zou versterken, je wist te lopen op je de database, niet vertrouwde gebruikers verstrekte gegevens. Deze gegevens alleen gecontroleerd, het proces, als een regel, dit is van de patroon met het om.In het onderstaande voorbeeld gebruikersnaam is beperking van de alfanumerieke tekens onderstrepen, 8 en 20 karakter - wijziging van deze regels moet de lengte tussen de, als (preg_match ("/^ \\w 8.20} {dollar /dollar, _get'username" [], $lucifers)) {% dB = nieuwe op basis van gegevens ('filename "); $resultaten = @ $dB (" > de vraag van de gebruikers id = $met [0] "of");} {ECHO gebruikersnaam niet accepteren;}, om na te gaan of deze problemen, rekening houdend met de uittreksels:, = "Meneer" te schrappen. De gebruikers; @ $dB; "> vraag (" van de gebruikers, gebruikersnaam "" {naam} dollar "); de functie van de naam van de gebruiker tabellen moeten zoeken in de naam van de gebruiker gespecificeerde gegevens overeenkomen.Onder normale omstandigheden, de naam van de dollar, maar met letters en mogelijke ruimte, zoals de touwtjes ilya.Maar hier, door de toevoeging van een nieuwe vraag in de naam, de gegevensbank in een ramp in het schrappen van de gebruiker van de vraag: schrapping van alle gegevens, een databank interface, vragen zijn niet toegestaan zich of in een functie vervullen meerdere vragen.Als je probeert te vragen, maar op basis van Stack bellen en postgresql, vrolijk stapelen de vraag, de uitvoering van alle vragen die een reeks van het creëren van een ernstige problemen op het gebied van de veiligheid, om te voorkomen dat de SQL injectie, kan de goede script talen zoals het perl en PHP alle Char.De programmering van de functie die de taal PHP, string sqlite_escape_string (input), aan het bijzondere karakter als de versterken. (get_magic_quotes_gpc () {. = sqlite_escape_string ($);} $resultaten = @ $dB ("> de vraag van de gebruikers de gebruikersnaam is" {naam} dollar, hoewel de Code "); het de gegevens worden opgenomen in de veiligheid, zal het de eenvoudige tekst, zoals in de vraag, je niet met de bepalingen van binaire gegevens, om de aandacht en de addslashes () mogen niet worden gebruikt voor het verslag over de vraag wat de basis; dat zal leiden tot een vreemde resultaten als je gegevens opvragen.



Previous:
Next Page: