Thomas. Skrevet 20. februar 2008 Skrevet 20. februar 2008 Hvordan setter man er sperre for mysql-injections i input felter ? Har hørt om en fyr som brukte "quote_smart".
eifoerde Skrevet 20. februar 2008 Skrevet 20. februar 2008 strip_tags(); Fjerner f.eks. <> helt og lagrer de ikke i mysql addslashes(); Legger til \ foran ' og slike tegn, bruker stripslashes(); til å fjerne de igjen på output fra mysql
Thomas. Skrevet 20. februar 2008 Forfatter Skrevet 20. februar 2008 Så.. vis jeg skriver: $_POST['brukernavn'] = addslashes($_POST['brukernavn']); Så vil ikke mysql-injections fungere ?
eifoerde Skrevet 20. februar 2008 Skrevet 20. februar 2008 (endret) stemmer, ihvertfall på de sql injectionene som jeg har testet mot mitt eget script. selv liker jeg å heller sette opp variablene slik: $name = addslashes($name); Er etter min mening mye mer ryddig når du kommer lenger nedover i koden. vil egentlig anbefale å bruke strip_tags(); også, ihvertfall så lenge du ikke har behov for tegn som <>&%, for å være enda sikrere $name = strip_tags($name); $name = addslashes($name); Endret 20. februar 2008 av eifoerde
Thomas. Skrevet 20. februar 2008 Forfatter Skrevet 20. februar 2008 stemmer, ihvertfall på de sql injectionene som jeg har testet mot mitt eget script.selv liker jeg å heller sette opp variablene slik: $name = addslashes($name); Er etter min mening mye mer ryddig når du kommer lenger nedover i koden. vil egentlig anbefale å bruke strip_tags(); også, ihvertfall så lenge du ikke har behov for tegn som <>&%, for å være enda sikrere $name = strip_tags($name); $name = addslashes($name); kan du si noen mysql-injections som jeg kan prøve på mitt eget script ??
Thomas. Skrevet 21. februar 2008 Forfatter Skrevet 21. februar 2008 men kan ikke du si noen mysql injections ??? skjønte ikke akuratt mye paa den siden ;p
nree Skrevet 21. februar 2008 Skrevet 21. februar 2008 (endret) Denne siden forklarer nok bedre: http://www.unixwiz.net/techtips/sql-injection.html Endret 21. februar 2008 av Goggen90
onTop Skrevet 21. februar 2008 Skrevet 21. februar 2008 Det er vel mer riktig å bruke mysql_real_escape_string() framfor addslashes().
loathsome Skrevet 21. februar 2008 Skrevet 21. februar 2008 (endret) stemmer, ihvertfall på de sql injectionene som jeg har testet mot mitt eget script.selv liker jeg å heller sette opp variablene slik: $name = addslashes($name); Er etter min mening mye mer ryddig når du kommer lenger nedover i koden. vil egentlig anbefale å bruke strip_tags(); også, ihvertfall så lenge du ikke har behov for tegn som <>&%, for å være enda sikrere $name = strip_tags($name); $name = addslashes($name); Om jeg tør spørre, hva i alle dager er dette for noe tull? Vennligst ikke uttal deg om ting du tydeligvis ikke har peiling på. Nesten så det frister å vise hva SQL-injections faktisk er Det er helt riktig som onTop sier, det er mysql_real_escape_string () som skal brukes til dette formålet. Jeg anbefaler å bruke en "wrapper"-funksjon som er basert på mysql_real_escape_string, slik som f. eks dette: <?php function quote_smart($value){ if (get_magic_quotes_gpc()) { $value = stripslashes($value); } if( is_numeric($value) && strpos($value,',') !== false ){ $value = str_replace(',','.',$value); } if( is_null($value) ){ $value = 'NULL'; } elseif (!is_numeric($value)) { $value = "'" . mysql_real_escape_string($value) . "'"; } return $value; } ?> Og trådstarter, php_user; Du sier du har "hørt om en fyr bruke quote_smart", hva forhindrer deg fra å Google dette stikkordet? Til orientering er første treff på Google link til mysql_real_escape_string-siden i PHP-manualen, hvor det også står om "quote_smart ()" under "user contributed notes". Endret 21. februar 2008 av loathsome
nree Skrevet 21. februar 2008 Skrevet 21. februar 2008 Om jeg tør spørre, hva i alle dager er dette for noe tull? Vennligst ikke uttal deg om ting du tydeligvis ikke har peiling på. Nesten så det frister å vise hva SQL-injections faktisk er Hva viste der?
Mats Danielsen Skrevet 23. februar 2008 Skrevet 23. februar 2008 Om jeg tør spørre, hva i alle dager er dette for noe tull? Vennligst ikke uttal deg om ting du tydeligvis ikke har peiling på. Nesten så det frister å vise hva SQL-injections faktisk er Han har jo helt riktig da, det er du som du bør vite hva du utaler deg om.
Ernie Skrevet 23. februar 2008 Skrevet 23. februar 2008 stemmer, ihvertfall på de sql injectionene som jeg har testet mot mitt eget script.selv liker jeg å heller sette opp variablene slik: $name = addslashes($name); Er etter min mening mye mer ryddig når du kommer lenger nedover i koden. vil egentlig anbefale å bruke strip_tags(); også, ihvertfall så lenge du ikke har behov for tegn som <>&%, for å være enda sikrere $name = strip_tags($name); $name = addslashes($name); Om jeg tør spørre, hva i alle dager er dette for noe tull? Vennligst ikke uttal deg om ting du tydeligvis ikke har peiling på. Nesten så det frister å vise hva SQL-injections faktisk er Siden du har så utrolig peiling kan du kanskje fortelle folk hvorfor mysql_real_escape bør foretrekkes? Det hjelper veldig, veldig lite å bare si at «sånn er det bare».
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å