Absolut. Jag skulle föreslå följande:
PHP-kod:
|
Läste lite på php.net om mysql_real_escape_string, men förstod inte speciellt mycket om det.
Känner någon att hen vill berätta för mig varför man skall använda den funktionen i denna? |
Låt oss säga att du har en sökfunktion och du hanterar den såhär:
PHP-kod:
Kod:
'; DROP TABLE search; Kod:
SELECT * FROM search WHERE text=''; DROP TABLE search; ' Om du använder PHP-kod:
Kod:
SELECT * FROM search WHERE text='\'; DROP TABLE search; ' (Ber om ursäkt för min försvenskning av de engelska orden). |
Det captaindoe skrev fungerar dock inte i praktiken (iom att du inte kan köra dubbla queries i en mysql_query())
MEN!!!! Det är vääldigt viktigt att ALDRIG lita på NÅGOT användaren skriver, escape:a och rensa alltid, allt! Enklaste sättet är att göra såhär: $minvariabel = mysql_real_escape_string($_GET['var']); På... allt :) |
Jag förstår!
Det är med andra ord, väldigt dumt att inte använda mysql_real_escape! :P |
Ger man en normal klient rättigheter att köra "DROP TABLE" så är man nog fel ute på annat håll..
Använder man 'prepared statements' så är det säkert mot denna typen av injektioner i.a.f. |
Jake, du förstår det att jag har hållit på med php i drygt 5 dagar nu, 3 dagar när jag först la ut tråden.
Så jag hoppas du förstår att mina kunskaper om hur allt fungerar, och vad som kan hända pga vissa saker, inte riktigt har trängt in i min hjärta ännu :P Men de kommer! |
jonssondesign, du kan vara lugn. De flesta nybörjare gör det där misstaget och även många som sysslat med php betydligt längre än dig. En del anser uppenbarligen att man ska kunna allting redan innan man börjar koda :) Det är inte mycket att bry sig om, det är bra att du tar till dig saker och ting och försöker lära dig ordentligt.
|
Om du ska lära dig koda så börja leka med MYSQLI Prepare statements http://www.php.net/manual/en/mysqli.prepare.php
|
Citat:
|
Alla tider är GMT +2. Klockan är nu 11:35. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson