Hallo,
Ik ben een best gevaarlijk programmatje aan het maken en ik wil er een soort van controle in zetten. Het programma geeft mensen rechten om directories te verwijderen wat je normaal alleen als root mocht. Maar nu wil ik niet dat ze een directorie lager iets kunnen verwijderen. Hoe kan ik dus controleren dat een string niet begint met .. of ./? Moet dit uberhaubt wel eens met regular expressions?
Ik heb nu dit:
Ik ben een best gevaarlijk programmatje aan het maken en ik wil er een soort van controle in zetten. Het programma geeft mensen rechten om directories te verwijderen wat je normaal alleen als root mocht. Maar nu wil ik niet dat ze een directorie lager iets kunnen verwijderen. Hoe kan ik dus controleren dat een string niet begint met .. of ./? Moet dit uberhaubt wel eens met regular expressions?
Ik heb nu dit:
C++:
1
2
3
4
5
6
| if(!strncmp("..", argv[2], strlen("..")) || !strncmp("./", argv[2], strlen("./"))) { sprintf(commando, "/bin/rm -rf /home/httpd/vhosts/%s/httpdocs/%s", argv[2], argv[3]); return system(commando); } else { return 0; } |