Mobsan Skrevet 16. oktober 2005 Del Skrevet 16. oktober 2005 Har tenkt litt på hvordan jeg skal kunne sikre meg at dataen jeg/andre legger inn er riktig og ikke inneholder ondsinnet kode. Jeg har tenkt ut 3 måter man kan ødelegge for oppsettet. 1. Hvis man bruker tegnet " vil man kunne få ferdig strengen og skrive kode etter dette. Har ikke fått testet dette selv, men vil tror at noe slikt er mulig. 2. Tegnet \ har også forskjellige muligheter og den vil man kanskje kunne bruke som escape ut av en streng. 3. Jeg vil få slettet alle <html> -tags som noen kanskje vil prøve å bruke for å ødlegge siden eller bare sette eget personlig preg. Tar gjerne mot flere feller man må passe seg for. Hvis noen vet om andre ting man må passe seg for, vil jeg veldig gjerne få høre om dem Venlig hilsen Mobsan Lenke til kommentar
zokra Skrevet 16. oktober 2005 Del Skrevet 16. oktober 2005 (endret) Du kan bruke: function filtrer($data){ $data=mysql_real_escape_string($data); $data=htmlspecialchars($data); return $data; } mysql_real_escape_string() gjør om data slik at feks ' blir til \' htmlspecialchars() gjør om alle spessial tegn om til html koder eks: <a href='test'>Test</a> <a href='test'>Test</a> En felle som er vanlig å falle i er at man stoler for mye på brukerene. Test altid alle data før de kjøres i databasen Endret 16. oktober 2005 av zokra Lenke til kommentar
???????? Skrevet 16. oktober 2005 Del Skrevet 16. oktober 2005 Det var ikke mye å tilføye til det zokra skrev der, eneste er at du har funksjonen strip_tags() dersom du rett og slett vil slette tagger i steden for å konvertere de til html. Lenke til kommentar
Mobsan Skrevet 16. oktober 2005 Forfatter Del Skrevet 16. oktober 2005 jeg sitter og leser litt på www.php.net, og fatter ikke helt mysql_real_escape_string() funksjonen... ser at det er en funksjon som heter addslashes(). Kan man bruke den istedet? Og stripslashes()? Lenke til kommentar
Beethoven Skrevet 16. oktober 2005 Del Skrevet 16. oktober 2005 Har hørt at bruken av funksjonen som er skrevet på mysql_real_escape_string skal være mer enn nok: <?php // Quote variable to make safe function quote_smart($value) { // Stripslashes if (get_magic_quotes_gpc()) { $value = stripslashes($value); } // Quote if not integer if (!is_numeric($value)) { $value = "'" . mysql_real_escape_string($value) . "'"; } return $value; } ?> Lenke til kommentar
ThaMezzy Skrevet 17. oktober 2005 Del Skrevet 17. oktober 2005 Se litt på denne du: http://bzabza.com/php/104/ Lenke til kommentar
Mobsan Skrevet 19. oktober 2005 Forfatter Del Skrevet 19. oktober 2005 Jeg lagde meg 2 funksjoner: $data = $_POST['navn']; $data = filtrer_data_inn($data); mysql_query(*legge inn med $data*); mysql_query(*hente ut med $data*); $data = filtrer_data_out($data); function filter_data_inn( $data ) { $data = strip_tags($data); $data = htmlspecialchars($data); if (!get_magic_quotes_gpc()) { $data = addslashes($data); } return $data; } function filter_data_out( $data ) { $data = stripslashes($data); return $data; } Vil disse 2 holde mot at det ikke skal komme ting inn i MySQL databasen min som jeg ikke vil at skal inn der? Tenker da på ting som kan ødelegge siden min og andre som bare er ute etter å lage jævelskap. Vil denne filtreringen av alle data som skal inn i MySQL holde? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå