|
|
|
|
|
|
|
#11 (permalink) |
|
Benutzer
|
Ok, dann fange ich mal an.
![]() - Ist ja nicht so das ich mich drücke und die anderen alles machen lassen möchte. ![]() Allerdings wäre es natürlich schön, da ich mich nicht sehr gut auskenne, wenn andere User noch Vorschläge machen was noch getan werden sollte. ![]() 1) Überprüfen ob das Script nicht direkt aufgerufen wurde, sondern nur von einem weiterem Script eingebunden wurde: PHP-Code:
3) Wenn es eine Zahl ist, sollten wir es durch intval laufen lassen. PHP-Code:
Was sollte man da am besten nutzen? Wie sollte man vorgehen? 5) Wenn es sich um reinen Text handelt, einfach mit mysql_real_escape_string rüber gehen, würde ich sagen... PHP-Code:
Lg wassereimer Geändert von wassereimer (10.05.2009 um 11:06 Uhr). |
|
|
|
|
|
|
|
PHP Code Flüsterer
Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten
|
|
|
|
#12 (permalink) |
|
Erfahrener Benutzer
|
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:
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:
Code:
printf("%d",var);
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. Geändert von litterauspirna (10.05.2009 um 11:33 Uhr). |
|
|
|
|
|
#13 (permalink) |
|
Benutzer
|
Danke erstmal für diese Umfangreiche Antwort und für deine Beteiligung hierbei.
![]() Dann bin ich schon mal einen Schritt weiter... Ich habe nun eine kleine Funktion dazu geschrieben... Bevor ein Kommentar hierzu kommt: Wie kann ich eine Funktion beenden? Hab ich das richtig gemacht? Wird diese Meldung dann ausgegeben? Ich wollte die Überprüfung, ob das Script nicht direkt aufgerufen wurde, sondern nur von einem weiterem Script eingebunden wurde, gerne mit in die Funktion einbauen... PHP-Code:
Was ich bei den magic_quotes meinte war, das ich öfters schon gelesen habe, das es zu Fehlern kommen kann wenn man einfach nur stripslashes macht bei eingeschaltetem magic_quotes... Weil stripslashes dann auch zu viel entfernen kann... Wo ist denn der Unterschied zwischen intval($var) und (int)$var? Den einzigen den ich bisher im Netz finden konnte war, dass die Geschwindigkeiten variieren. Und intval soll davon die schnelle sein... (Quelle) Lg wassereimer
__________________
Wer fragt ist ein Narr - für 5 Minuten. Wer nicht fragt ist ein Narr - sein Leben lang. Die deutsche Sprache ist Freeware, jeder darf sie kostenlos nutzen. Sie ist jedoch nicht OpenSource und eigenmächtige Veränderungen sind nicht gestattet. Geändert von wassereimer (10.05.2009 um 12:56 Uhr). |
|
|
|
|
|
#14 (permalink) |
|
Erfahrener Benutzer
|
Einen MD5-Hash brauchst du nicht zu escapen - der enthält keine Sonderzeichen.
Die Magic Quotes kannst du auch direkt aus dem POST-Array streichen lassen. Zugleich kann man überflüssige Leerzeichen entfernen: PHP-Code:
PHP-Code:
PHP-Code:
|
|
|
|
|
|
#15 (permalink) | ||
|
Benutzer
|
Danke auch für deine Antwort.
![]() Zu dem MD5-Hash hat litterauspirna allerdings geschrieben: Zitat:
![]() Oder sehe ich da was falsch? Zitat:
- Aber ich wollte diese Funktion speziell für alle Variablen nutzen, die auch nur mit der Datenbank in Verbindung kommen. ![]() Eine weitere Funktion wollte ich anschließend noch schreiben, für allgemeine gesendete Daten die per Post, Get oder ähnlichem übermittelt werden. ![]() Das intval() habe ich ja schon in die Funktion eingebaut... Ich habe die Funktion auch noch auf floatval erweitert... PHP-Code:
PHP-Code:
Lg wassereimer
__________________
Wer fragt ist ein Narr - für 5 Minuten. Wer nicht fragt ist ein Narr - sein Leben lang. Die deutsche Sprache ist Freeware, jeder darf sie kostenlos nutzen. Sie ist jedoch nicht OpenSource und eigenmächtige Veränderungen sind nicht gestattet. |
||
|
|
|
|
|
#17 (permalink) |
|
Benutzer
|
Ok, dies habe ich angepasst...
Noch offene Fragen: - Funktioniert "die("Meldung");" in einer Funktion? - Muss noch etwas getan werden, was ich bisher evtl. vergessen habe? - Kann mir stripslashes, nach der Prüfung ob magic_quotes an ist, evtl zuviel aus einem String entfernen? - Fällt euch noch etwas auf oder würdet Ihr diese Funktion auch bei euch bedenkenlos einsetzen? Lg wassereimer
__________________
Wer fragt ist ein Narr - für 5 Minuten. Wer nicht fragt ist ein Narr - sein Leben lang. Die deutsche Sprache ist Freeware, jeder darf sie kostenlos nutzen. Sie ist jedoch nicht OpenSource und eigenmächtige Veränderungen sind nicht gestattet. |
|
|
|
|
|
#18 (permalink) | ||
|
Erfahrener Benutzer
Registriert seit: 28.09.2008
Beiträge: 760
PHP-Kenntnisse: Fortgeschritten ![]() |
man kann die Leute auch Löcher in den Bauch fragen ...
Zitat:
Ist eben einfacher zu fragen oder wie ? Zitat:
Vielleicht fängst einfach mal an was zu machen. |
||
|
|
|
|
|
#19 (permalink) | |||||||
|
moderatives Dielektrikum
Registriert seit: 21.05.2008
Beiträge: 25.134
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Zitat:
1. Zitat:
2. Zitat:
3. Zitat:
4. Zitat:
5. Zitat:
6. Zitat:
Usw. usf. Hättest Du die Links oben mal vollständig gelesen, hättest Du einen Grossteil der Kritiken schon gekannt.
__________________
-- „Eins ist Fakt: Gescannt wird nackt!“ Privatsphäre 2.0 - Nacktscanner mit Eyetracking. Unser Flugzeug darf kein geschlechtsfreier Raum sein. -- |
|||||||
|
|
|
|
|
#20 (permalink) |
|
Benutzer
|
Also eigentlich nur mysql_real_escape_string für alles...
Außer bei Zahlen halt intval oder floatval... Bei Hashes gar nichts... Richtig?
__________________
Wer fragt ist ein Narr - für 5 Minuten. Wer nicht fragt ist ein Narr - sein Leben lang. Die deutsche Sprache ist Freeware, jeder darf sie kostenlos nutzen. Sie ist jedoch nicht OpenSource und eigenmächtige Veränderungen sind nicht gestattet. |
|
|
|
|
|
|
|
PHP Code Flüsterer
Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten
|
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| realpath $_server[\'script_filename\'] |