php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.10.2007, 10:14  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.038
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard htmlspecialchars vs strip_tags, mysql_real_escape_string

hallo, um variablen abzusichern habe ich momentan immer einen regulären ausdruck drüber laufen lassen und viel mit htmlspecialchars() gearbeitet, htmlspecialchars wird jedoch in dem buch "PHP Sicherheit" ein wenig links liegen gelassen, funktionen wie addslashes u.s.w. kommen hier zum Einsatz... soweit ich weiss schützt htmlspecialchars jedoch auch vor sql injectionen u.s.w. ?
notyyy ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.10.2007, 11:21  
bp158
Gast
 
Beiträge: n/a
Standard

Hi,

ich glaube mittlerweile das die ganze Art und weise wie man Variablen absichert eine politische Entscheidung jedes einzelnen ist...

Was wirklich richtig ist, steht nirgends. Das mit htmlspecialchars hab ich neulich auch gelesen ...

BP (der auch gern wissen würde wie es RICHTIG ist) ...
  Mit Zitat antworten
Alt 17.10.2007, 11:35  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

htmlspecialchars schützt nicht in jedem Fall vor SQL-Injections...wenn man sich das Manual dazu anschaut, stellt man fest, dass einfache Anführungszeichen (') nur ersetzt werden wenn ENT_QUOTES gesetzt ist...

htmlspecialchars und mysql_real_escape_string machen doch auch grundverschiedene Sachen - das ist also keine politische Entscheidung, sondern hängt davon ab was du machen willst. Ich will Eingaben möglichst unverändert in die Datenbank schreiben - daher verwende ich htmlspecialchars/entities nicht vor dem speichern, da sonst HTML-Eingaben konvertiert werden/verloren gehen...
__________________
Today you...Tomorrow me.
agrajag ist offline   Mit Zitat antworten
Alt 17.10.2007, 11:42  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

will man sich vor injections schützen ? oder inhalte verändern ? htmlspecialchars führt zu Veränderungen der Eingabe! mysql_(real_)escape_string und co hingegen escapen eine Variable nur passend um sie gefahrlos in einem Query einzusetzen UND sie kommt so in der Datenbank an wie sie auch ursprünglich (ohne mysql_(real_)escape_string) war!

Und die Veränderung durch htmlspecialchars bringt NUR was wenn man beim 2ten Parameter ENT_QUOTES nutzt, weil sonst ' weiterhin ' bleiben!
robo47 ist offline   Mit Zitat antworten
Alt 17.10.2007, 15:59  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ich denke man kann es darauf reduzieren:

- mysql_real_escape_string () vor dem Speichern in die Datenbank nutzen, um die Query gegen Manipulation zu schützen.
- html_entities () vor jeglicher Bildschirmausgabe verwenden, egal, ob nach Auslesen aus der Datenbank oder beim Wiederbefüllen des Formulars, bei unvollständigen Eingaben.

Im Folgescript des Forms desweiteren stets die Settings zu magic_quotes_gpc und Konsorten beachten, gegebenenfalls stripslashes () nutzen.

So einfach kann Politik sein! :wink:
nikosch ist offline   Mit Zitat antworten
Alt 18.10.2007, 09:37  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.038
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

kann mir auch jemand sagen welchen $_SERVER variablen ich nicht trauen darf ?

referer, host, user_agent , weiter ?
notyyy ist offline   Mit Zitat antworten
Alt 18.10.2007, 09:43  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ist doch eigentlich egal, alles was in die Datenbank will muss an mysql_real_escape_string() vorbei.
Zergling-new ist offline   Mit Zitat antworten
Alt 18.10.2007, 09:52  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.038
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

ich finde es nicht egal und gut zu wissen welche servervariablen vom server kommen
notyyy ist offline   Mit Zitat antworten
Alt 18.10.2007, 13:25  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Naja das ist eben die Gefahr, zu glauben zu wissen, anzunehmen, vermuten, von mir aus sogar wissen aber dann vergessen.
Einfach alle Daten als potentiell gefährlich einstufen und absichern. Dafür kannste dir ein paar einfache Filter-Funktionen schreiben, für MySQL eben mysql_real_escape_string() mit Abprüfung von magic_quotes_gpc() und für Dateien ein optionales strips_tags() und für den Bildschirm ein htmlspecialchars().
Aber ich verstehe, dass du es einfach wissen willst, wollte die Proforma-Hinweise trotzdem noch erwähnen
Zergling-new ist offline   Mit Zitat antworten
Alt 18.10.2007, 13:34  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.038
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

ich möchte wie du schon sagtest mir eine funktion schreiben die solche sachen effektiv beseitigt UND vorallem verdächtige Inhalte zusätzlich loggt
notyyy ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
htmlspecialchars umgekehrt xeon PHP Tipps 2006 3 31.07.2006 17:16
htmlspecialchars() vs htmlentities() vs addslashes() PHP Tipps 2005-2 3 16.09.2005 13:08
htmlentities vs. htmlspecialchars bicpi PHP-Fortgeschrittene 7 04.09.2005 23:17
htmlspecialchars() und str_replace() michi174 PHP Tipps 2005-2 3 07.07.2005 17:17
hat jemand erfahrung mit htmlspecialchars??? LA-Finest PHP Tipps 2005 6 15.04.2005 15:12
htmlspecialchars() StartUpBoy PHP Tipps 2005 5 22.03.2005 10:33
BBCode und htmlspecialchars PHP Tipps 2005 5 21.02.2005 20:10
Ausgabe nur dann, wenn htmlspecialchars() verwendet PHP Tipps 2004 1 27.10.2004 21:17
[Erledigt] htmlspecialchars austricksen. PHP-Fortgeschrittene 1 18.10.2004 08:03
htmlspecialchars in printf verwenden? Paulo PHP Tipps 2004 9 15.10.2004 15:59
[Erledigt] Umkehrfunktion von htmlspecialchars() PHP Tipps 2004 4 31.08.2004 14:24

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql_real_escape_string htmlspecialchars, strip_tags, zend htmlspecialchars, htmlspecialchars mysql_real_escape_string, strip_tags vs htmlspecialchars, htmlspecialchars sicherheit, php sicherheit htmlspecialchars, htmlspecialchars oder mysql_real_escape_string, strip_tags htmlspecialchars, htmlspecialchars vs mysql_real_escape_string, zend mysql_real_escape_string, mysql_real_escape_string strip_tags, htmlspecialchars vs strip_tags, mysql_real_escape_string oder htmlspecialchars, htmlspecialchars strip_tags, mysql_real_escape_string(htmlspecialchars, php sicherheit strip_tags, zend strip_tags, php htmlspecialchars sicherheit, zend framework htmlspecialchars

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:30 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.