webForumDet fria alternativet

Säkerhetsfråga

4 svar · 414 visningar · startad av Melea

MeleaMedlem sedan juli 20033 147 inlägg
#1

Hejhej!

Har just kommit på en sak som jag inte riktigt vet om det funkar.
Om vi säger att vi har en tabell som heter "members", och ett formulär som har en input där man får skriva vad man vill, som sedan läggs till i databasen. Vad händer om man skriver

"; DROP TABLE members

Tas tabellen bort? Eller finns det någon spärr mot detta?
Samma gäller när man hämtar information från en querystring, typ: ?id=1, om man nu ändrar den till

?id=1";DROP TABLE members

Hur blir det då?
Just curious!

UlfTMedlem sedan maj 20018 027 inlägg
#2

Sök på "SQL Injection". Svaret är alltså att tabellen verkligen försvinner, om du nu stoppar in den strängen i ett sql-uttryck. Du bör alltså kontrollera så att ingen försöker sig på sql injections. Om du söker på det begreppet, kommer du hitta högar med tips om hur du undviker sådant.

GislavedMedlem sedan nov. 20041 740 inlägg
#3

Du kan även sätta rättigheter på användaren till mysql-databasen så att den inte har rättigheter att köra frågor som DELETE eller DROP TABLE.

mysql_real_escape_string(); och htmlentities(); är bra funktioner att kika på.

aasahMedlem sedan mars 20034 471 inlägg
#4

Gislaved skrev:

Du kan även sätta rättigheter på användaren till mysql-databasen så att den inte har rättigheter att köra frågor som DELETE eller DROP TABLE. ...

Fast det funkar väl sämre om man har exempelvis moderatorer som ska kunna ta bort inlägg o dyl. För databasen kan väl inte veta mer än att det är en och samma användare (dvs applikationsprogrammet) som körs, eller? :q

oHLLeMedlem sedan nov. 2002302 inlägg
#5

Bara du kör addslashes() på all text som ska in så ska det inte vara någon fara.

addslashes() gör alla farliga tecken ofarliga, tex så blir " \" och ' blir \'

När du sedan vill skriva ut texten så bör du köra stripslashes() på texten så att alla \ försvinner annars blir det att se knasigt ut med massa \ i texten.

128 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)