Hi !
ich bastel an einer shop - seite und beschäftige mich gerade mit sicherheitsthemen, schließlich geht es bei so einer seite um geld und das ganze muss sicher sein.
ich habe mich jedoch bisher nicht wirklich mit sicherheit usw auseinandergesetzt, daher ein paar fragen:
- bisher habe ich mit htaccess die wichtigen seiten und dateien, die nicht einsehbar und manipulierbar sein sollen, unzugänglich gemacht .. so dass aber trotzdem alle seiten miteinander kommunizieren können und es keine einschränkung in der funktionalität der seite gibt
- was sql injections und xss angeht habe ich folgenden ansatz bisher probiert:
(egal ob jetzt $_GET $_POST $_SERVER $_COOKIE oder was auch immer)
-> das scheint soweit erstmal zu funktionieren .. wenn man iwas in der art versucht: <script>ach ich bin so böse</script> bleibt nur ach ich bin so böse übrig und es kann, wenn ich das bis hierhin richtig sehe, kein schadcode ausgeführt werden.
mysql abfragen funktionieren auch fehlerlos damit.
meine fragen:
reicht der obige ansatz was sql injections und xss angeht, wenn ich das konsequent bei jeder möglichen user - eingabe, die in irgendeiner form ausgeführt / ausgegeben werden könnte, anwende oder gibt es weitere maßnahmen, die ich ergreifen muss um sql inj und xss weitgehend unmöglich zu machen ?
- muss ich vor ausgabe / weiterverarbeitung von daten aus der datenbank nach der abfrage nochmal aus besondere weise behandeln:
oder reicht das, dass ichs vor der abfrage schon entschärft habe und kann das dabei belassen:
$zeile stammt aus einer while-schleife, anhand welcher ich die daten aus der datenbank in ein array hole
- eine weitere frage: in meiner config_inc.php datei habe ich die erforderlichen daten für das aufbauen der verbindung zur datenbank stehen, reicht es, dass die datei durch htaccess geschützt ist, oder bedarf es weiterer maßnahmen um es unmöglich zu machen, dass die datei von unbefugten eingesehen wird ?
- desweiteren hab ich gelesen, wenn man die website veröffentlicht sollte man sämtliche fehlermeldungen seitens PHP abschalten, also als weitere generelle sicherheitsmaßnahme
was gibt es noch für sicherheitsaspekte, um die man sich kümmern sollte ?
ich überlege soweit es mir selbst möglich ist sicherheitsprobleme zu beseitigen, die website dann aber nochmal jemanden sozusagen korrerkturlesen zu lassen, da mir die sicherheit halt sehr wichtig ist - sicher ist sicher .. eine idee wieviel geld ich da investieren müsste/sollte ?
ich bastel an einer shop - seite und beschäftige mich gerade mit sicherheitsthemen, schließlich geht es bei so einer seite um geld und das ganze muss sicher sein.
ich habe mich jedoch bisher nicht wirklich mit sicherheit usw auseinandergesetzt, daher ein paar fragen:
- bisher habe ich mit htaccess die wichtigen seiten und dateien, die nicht einsehbar und manipulierbar sein sollen, unzugänglich gemacht .. so dass aber trotzdem alle seiten miteinander kommunizieren können und es keine einschränkung in der funktionalität der seite gibt
- was sql injections und xss angeht habe ich folgenden ansatz bisher probiert:
Code:
htmlentities(strip_tags(mysql_real_escape_string($_GET['was_auch_immer'])), ENT_QUOTES)
(egal ob jetzt $_GET $_POST $_SERVER $_COOKIE oder was auch immer)
-> das scheint soweit erstmal zu funktionieren .. wenn man iwas in der art versucht: <script>ach ich bin so böse</script> bleibt nur ach ich bin so böse übrig und es kann, wenn ich das bis hierhin richtig sehe, kein schadcode ausgeführt werden.
mysql abfragen funktionieren auch fehlerlos damit.
meine fragen:
reicht der obige ansatz was sql injections und xss angeht, wenn ich das konsequent bei jeder möglichen user - eingabe, die in irgendeiner form ausgeführt / ausgegeben werden könnte, anwende oder gibt es weitere maßnahmen, die ich ergreifen muss um sql inj und xss weitgehend unmöglich zu machen ?
- muss ich vor ausgabe / weiterverarbeitung von daten aus der datenbank nach der abfrage nochmal aus besondere weise behandeln:
Code:
htmlentities(strip_tags(mysql_real_escape_string($zeile['was_auch_immer'])), ENT_QUOTES)
oder reicht das, dass ichs vor der abfrage schon entschärft habe und kann das dabei belassen:
Code:
$zeile['was_auch_immer']
$zeile stammt aus einer while-schleife, anhand welcher ich die daten aus der datenbank in ein array hole
- eine weitere frage: in meiner config_inc.php datei habe ich die erforderlichen daten für das aufbauen der verbindung zur datenbank stehen, reicht es, dass die datei durch htaccess geschützt ist, oder bedarf es weiterer maßnahmen um es unmöglich zu machen, dass die datei von unbefugten eingesehen wird ?
- desweiteren hab ich gelesen, wenn man die website veröffentlicht sollte man sämtliche fehlermeldungen seitens PHP abschalten, also als weitere generelle sicherheitsmaßnahme
was gibt es noch für sicherheitsaspekte, um die man sich kümmern sollte ?
ich überlege soweit es mir selbst möglich ist sicherheitsprobleme zu beseitigen, die website dann aber nochmal jemanden sozusagen korrerkturlesen zu lassen, da mir die sicherheit halt sehr wichtig ist - sicher ist sicher .. eine idee wieviel geld ich da investieren müsste/sollte ?