Det känns en aning suboptimalt att eskejpa alla värden i _POST, både prestandamässigt (mindre problem) och principiellt (större problem) - det är att angripa problemet från fel håll.
För det första ändrar du på all indata vilket kan ställa till det på andra ställen.
För det andra pajar det lokaliteten i koden - när du tittar på de rader som faktiskt interagerar med databasen kan du inte garantera att frågorna är säkra, utan måste kolla någon annanstans att du verkligen kört alla värden genom db_escape.
förstår dock inte vad du menar med prepared statements?
Prepared statements, parametriserade frågor, går ut på att man inte stoppar in värdena direkt i SQL-frågan. Har diskuterats livligt i ASP-forumet men mindre här. Det är, i princip, det enda sättet att hundraprocentigt skydda sig mot SQL-injektion. Dessutom ger det portablare kod och är enklare att använda. http://www.php.net/manual/sv/function.mysqli-prepare.php
vic skrev:
Alla formulär interagerar med databasen, därför escapar jag alla $_POST
Ja, men det har inget med saken att göra. Det är inget som garanterar att det kommer vara så i framtiden, och det kräver fortfarande att du kommer ihåg att göra det.
Prepared statements, parametriserade frågor, går ut på att man inte stoppar in värdena direkt i SQL-frågan. Har diskuterats livligt i ASP-forumet men mindre här. Det är, i princip, det enda sättet att hundraprocentigt skydda sig mot SQL-injektion. Dessutom ger det portablare kod och är enklare att använda. http://www.php.net/manual/sv/function.mysqli-prepare.php
Ok, får ta mig tid och titta igenom det...
spango skrev:
Ja, men det har inget med saken att göra. Det är inget som garanterar att det kommer vara så i framtiden, och det kräver fortfarande att du kommer ihåg att göra det.
hehe, nä jag kan inte veta med säkerhet att det kommer vara så för all framtid på denna webbplats men jag vet att det kommer vara så under en viss tid (då vi ansvarar för det hela), om projektet sen anses hållbart, kommer nog mycket av systemet att göras om, det råder tidsbrist i nuläget!
252 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2