Einzelnen Beitrag anzeigen
Alt 10.05.2009, 11:25  
litterauspirna
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.072
PHP-Kenntnisse:
Anfänger
litterauspirna befindet sich auf einem aufstrebenden Ast
litterauspirna eine Nachricht über ICQ schicken
Standard

Dein 4 Punkt verstehe ich von der Ausage her nicht ganz. Wenn dann ist nicht get_magic_quotes_gpc aktiviert sondern magic_quotes. Die Funktion get_magic_quotes_gpc ist nur eine PHP Funktion die abprüft ob magic_quotes in der ini auf on steht und wenn das der Fall ist musst die Variablen eben mit stripslashes behandeln und die bereits gesetzten escapes entfernen um eben dann doppelte escapes zu ver meiden und das machst eben so hier.

PHP-Code:
if(get_magic_quotes_gpc()==&& get_magic_quotes_gpc())
{
       
$var stripslashes($var);

Hier prüfst du eben ob magic_quotes in der ini auf on steht und wenn ja dann werden die escapes entfernt, wenn sie nicht aktiviert ist also magic_quotes auf off steht wird der Code in dem if Block gar ich erst abgearbeitet weil die Bedinung da drin get_magic_quotes_gpc()==1 nicht wahr ist.

zu 5.)
Die Aussage ist fachlich nicht ganz richtig. Wenn du in einer Sqlabfrage in der Where Clausel nach Strings (Zeichenketten) abfragst oder eben Zeichenketten in die DB schreibst, dann musst da darauf mysql_real_escape_string anwenden, auch ein Passwort im md5() Hash ist eine Zeichenkette, also würde ich auch diese prüfen. Bei Integer Werten wendest du eben intval($var) oder noch besser (int)$var an. Und bei Gleitpunktzahlen eben dann (float)$var oder auch (double)$var wenn es sich um relativ sehr genaue Berechnungen handelt (das kenne ich nur aus C so, musste in PHP damit noch nie arbeiten). Damit ist eigentlich alles abgedeckt was nun die einzelnen Datentypen angeht.

Ich zum Beispiel typisiere meine Variablen bevor ich sie nutze auch in der Deklaration noch. Also so hier.
PHP-Code:
$var = (string)$_POST['var'];
$int_var = (int)$_POST['int_var'];
$float_var = (float)$_POST['float_var']; 
Wenn man mal bisschen was mit C gemacht hat oder sich da rein arbeitet stöst man eben dann auf den Bereich Variablen Deklaration, Initialisierung und Definition. Wobei Definition eigentlich Deklaration und Initialisierung in einem sind. In C musst du halt eben die Variablen so ausgeben

Code:
printf("%d",var);
In PHP musst du bei der Ausgabe eben nicht extra formatieren. In C werden Variablen generell intern als INT Werte in den Speicher gelegt und du musst manuell für die Formatierung sorgen, in PHP wird das intern für dich übernommen.

Nun gut das weitet sich aber nun zu sehr aus und triftet stark vom Thema ab. Sorry für den kleinen Ausflug

Ich denke das müsste als Erklärung eben reichen so das du weiter dich informieren kannst.

Ich denke ich werde auf meiner Seite mal ein kleines Tut schreiben wo es sich um Grundliegende Sicherheitsvorkehrungen dreht, dank nikosch bin ich da auch sehr viel gründlicher geworden.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de

Geändert von litterauspirna (10.05.2009 um 11:33 Uhr).
litterauspirna ist offline