mysql SQL, als je moet de gebruiker door middel van een website en stop het in een databank van mysql, heb je de kans om zijn eigen veiligheid heet SQL open.Deze les zal leren hoe je helpen om dat te voorkomen, te helpen bij het beschermen van je script en mysql verklaringen, meestal in de plaats van injectie je vragen om de gebruiker als hun naam, en niet een naam, ze geven je een mysql verklaringen, die je onbewust in je database niet vertrouwen. De gebruikers van de gegevens, de verwerking van deze gegevens alleen gecontroleerd; in de regel is, dat door het patroon.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)) {% resultaten = mysql_query ("van de gebruikers. = $met [0]" of ");} {ECHO gebruikersnaam niet accepteren;}, om na te gaan of deze problemen, rekening houdend met de uittreksels:, /moet worden opgenomen; het schrappen van" Meneer ". = gebruikers;"; mysql_query ("de naam van de gebruikers =" {naam} dollar "), de functie; de gebruikers moeten zoeken in de tabel opgenomen, in de naam van de naam van de gebruiker aangewezen.Onder normale omstandigheden, met inbegrip van de naam slechts $alfanumerieke tekens, misschien 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, gelukkig, als je het gebruik van mysql mysql_query () functie mag niet vragen zich of in een functie vervullen meerdere vragen.Als je probeert te Stack vraag, niet bellen, maar andere database uitbreiden, zoals de taart 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 Char.PHP mysql_real_escape_string mysql biedt de uitbreiding de functie aan het speciale karakter van (input), als van mysql. (get_magic_quotes_gpc () {. = stripslashes ($);}. = mysql_real_escape_string ($); mysql_query ("de naam van de gebruikers" {naam} = dollar "); een soortgelijke dilemma:,, De oplossing van soortgelijke in de war, een gewoonte die mechanismen moeten worden en voor de gebruikers van de% _ karakter letterlijk.Het gebruik van addcslashes (), een functionele, laat je het aangeven van een reeks tekens ontsnappen, dollar is code = (mysql_real_escape_string (% something_ "),"% _ "); - = = en% ////////_ iets mysql_query $(" select * van de thema 's, zoals in de e - mail "{} $-%"); en
En
Previous:De behandeling van
Next Page:De invoering van methoden