Hallo,
Onlangs heb ik een heel systeem (PHP, MySQL, JavaScript, HTML, CSS) gemaakt waar mensen kunnen inloggen facturen in kunnen zien, tickets kunnen aanmaken etc. echter is mijn vraag; Is hij wel veilig?!
Wat gebruik ik;
- PDO, Incl. Prepared statements
- Special Character filter, alles wordt omgezet VOORDAT het in een Query komt. Bijv. " wordt " en < wordt <
- Aan bijv facturen en berichten geef ik 2 random md5 hashes mee, deze hashes moeten correct zijn in combinatie met het klantnummer.
- Eventuele parameters die in de URL gegeven zijn worden eerst Special Character gefilter VOORDAT het in de Query komt.
- Prepared Statements worden gebruikt.
- Bij het inloggen wordt en een random session_hash gegenereerd, als men uitlogt en weer inlogt heeft men een andere session_hash. Zover ik weet is session hijacking dus niet mogelijk omdat de session ids wisselen.
- IP wordt gelogd tijdens het inloggen, hierin wordt ook aangegeven of de login succesvol was of niet en als er een klant bestaat met het email ook het klantnummer waar de login betrekking op heeft.
- De admin interface wordt gecheckt of het IP juist is, is dit niet het geval dan wordt je naar de error pagina gestuurd.
Voor zover ik weet is hij nu dus enkel vurnirable als je in de server komt omdat;
- Alles eerst gefilterd wordt en geprepared is.
- XSS is niet mogelijk doordat JavaScript niet uitgevoerd wordt dankzei de filtering van onder andere < en >.
- Sessie Hijacking is niet mogelijk doordat de sessie id steeds veranderd.
- Ik heb er met Havij Pro opgezeten, deze gaf naar herhaaldelijk proberen steeds een error terug dat hij niks kon vinden
Mijn vraag is, kloppen mijn veronderstellingen en is hij inderdaad veilig? (Ik weet ook wel dat niks 100% safe is natuurlijk) Maar ik wil gewoon zeker weten dat hij niet makkelijk te hacken is.
Graag hoor ik van jullie!
2.257 views