[PHP] Beveiliging SQL

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben een tijdje op internet en op dit forum op zoek geweest maar ik kon geen andwoord vinden op mijn vraag.
Wat is nou de beste manier om je database te beveiligen tegen ongewenste SQL commando's. Er wordt altijd gezegd dat je de input van een gebruiker in een form niet direct in een query mag gebruiken, maar wat moet je met de input doen om te voorkomen dat een gebruiker SQL commando's invoert?
Voor cijfers (integers enz) is de oplossing natuurlijk duidelijk gewoon controleren of het wel een integer is. Maar hoe moet dat nou met strings en text?

Acties:
  • 0 Henk 'm!

  • _the_crow_
  • Registratie: September 2000
  • Laatst online: 30-03 14:35

_the_crow_

Rare vogel

moet dit niet ergens anders?....laten we zeggen -> programming & webscripting

Schrödingers cat: In this case there are three determinate states the cat could be in: these being Alive, Dead, and Bloody Furious.


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23:10

Janoz

Moderator Devschuur®

!litemod

Zoe moeilijk is dat toch niet? Gewoon zorgen dat er geen tekens in staan waardoor de query iets anders kan gaan doen dan de bedoeling is. Denk hierbij vooral aan het quotje. Eventueel zou je ook nog op de nullbyte kunnen checken, maar dat is een beetje afhankelijk van het feit of de ontwikkelaars van PHP en/of de DB wel netjes hun best gedaan hebben.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:30
[rml][ Alg] Safe Code part II - SQL en HTML injection tegengaan[/rml]
:Y)

Je kunt nog meerdere topics vinden over dit probleem hoor, als je maar ff de goeie zoektermen gebruikt.... (html sql injection) brengt je alvast ver.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

functies zoals addslashes() en htmlspecialchars() helpen nog wel eens ;)

Acties:
  • 0 Henk 'm!

  • VisionMaster
  • Registratie: Juni 2001
  • Laatst online: 26-06 23:02

VisionMaster

Security!

Tja als je al een stuk code gewoon zelf bouwd run-time en serversided.
Dus je parameters zelf in de juiste plek van een SQL string bouwen, dan weet de kwaadwillende toch weinig te doen. De SQL string is dan te openlijk gebouwd lijkt mij.

voorbeeld:
insert into Table (id, naam, adres)
values (para1, para2, para3)

als je alleen de string laat bouwen voor de parameters kan de eindgebruiker toch weinig zien en of kwaadwillend aanpassen?
PS: je database moet natuurlijk wel beveiligd zijn en liefst niet publiekelijk bereikbaar zijn.

I've visited the Mothership @ Cupertino


Acties:
  • 0 Henk 'm!

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 10-08 02:59

Gerco

Professional Newbie

En als ik in para 1 nu eens dit stop? "a,b,c); DROP DATABASE blaat;"

[ Voor 11% gewijzigd door Gerco op 31-01-2003 16:39 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Acties:
  • 0 Henk 'm!

  • MAZZA
  • Registratie: Januari 2000
  • Laatst online: 11-09 09:16

MAZZA

Barbie is er weer!

Maar je kan altijd je pagina's laten debuggen door vrienden en zelf gaan klooien met gekke tekens. Maar wie slim code heeft dat niet nodig he :)

[ Voor 23% gewijzigd door MAZZA op 31-01-2003 18:19 ]

Pagina: 1