hi,
ben momenteel bezig met een dynamische site waarop ik doormiddel van oa mod_rewrite mooi, statische links kan aanmaken (oa voor duidelijkere tracking, en gebruiks en zoekmachine vriendelijkheid). heb dit al eens gedaan, maar dan puur door het weergeven van verschillende niveaus doormiddel van integeers (bv een link als /fotoboek/9/1/ herschrijven naar 'laat foto 1 uit boek 9 zien)
aangezien een tekstuele link imho duidelijker is, ben ik momenteel bezig iets dergelijks te implementeren, maar ik maak me een beetje zorgen over of een en ander wel veilig in elkaar zit (niet echt zin in een of andere hacker die doormiddel van het aanpassen van een url me database weet leeg te halen)
wat ik momenteel doe is:
.htaccess
verslagen.php
mijn vraag: is dit veilig, of zijn er nog steeds manieren waarop iemand na al deze checks rotzooi kan trappen in mijn database?
ben momenteel bezig met een dynamische site waarop ik doormiddel van oa mod_rewrite mooi, statische links kan aanmaken (oa voor duidelijkere tracking, en gebruiks en zoekmachine vriendelijkheid). heb dit al eens gedaan, maar dan puur door het weergeven van verschillende niveaus doormiddel van integeers (bv een link als /fotoboek/9/1/ herschrijven naar 'laat foto 1 uit boek 9 zien)
aangezien een tekstuele link imho duidelijker is, ben ik momenteel bezig iets dergelijks te implementeren, maar ik maak me een beetje zorgen over of een en ander wel veilig in elkaar zit (niet echt zin in een of andere hacker die doormiddel van het aanpassen van een url me database weet leeg te halen)
wat ik momenteel doe is:
.htaccess
code:
1
| RewriteRule ^verslag/(.*)/$ verslagen.php?verslag=$1 |
verslagen.php
PHP:
1
2
3
4
5
6
7
8
9
10
| // Check of url wel via mod_rewrite gekomen is, anders 403 if(strstr($_SERVER['REQUEST_URI'], ".php") != false) { do_403(); } // Kijk of variabelen opgegeven zijn, anders 404 if(empty($_GET['verslag'])) { do_404(); } if(!preg_match("/^[a-z0-9\-_]/", $_GET['verslag'])) { do_404(); } // Met SQL verslag opzoeken [..] $sqlQuery .= "WHERE trackback = '". $_GET['verslag'] ."' "; |
mijn vraag: is dit veilig, of zijn er nog steeds manieren waarop iemand na al deze checks rotzooi kan trappen in mijn database?
edit:
oeps, vergeten titel af te maken..
mag ik een titelfix naar "[php] Veilig zoeken in database via $_GET?"
oeps, vergeten titel af te maken..

mag ik een titelfix naar "[php] Veilig zoeken in database via $_GET?"
[ Voor 9% gewijzigd door BetuweKees op 28-12-2004 21:28 . Reden: titel vergeten :( ]
Through meditation I program my heart to beat breakbeats and hum basslines on exhalation -Blackalicious || *BetuweKees was AFK; op de fiets richting China en verder