php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.08.2006, 02:40  
Neuer Benutzer
 
Registriert seit: 28.08.2006
Beiträge: 5
Davido
Standard Gefährlichen Code entfernen

Hallo an alle


Ich beschäftige mich seit gut einer Woche mit PHP und wollte hier gleich mal meine erste Frage stellen. Wie kann man gefährlichen Code aus Benutzereingaben entfernen. Und zwar:

1. Wenn man die Eingabe ausgeben will
2. Wenn man die Eingabe in einer Datenbank speichern will (SQL Injektion [??] vermeiden)
3. Wenn man die Eingabe speichern und dann exakt so, wie sie eingegeben wurde, ausgeben will


Ich bin mir nicht ganz sicher, aber ich denke, dass die originale Eingabe durch Befehle wie z.b. trim() verfälscht werden kann und das will ich möglichst vermeiden.


Es wäre schön, wenn ihr mir in der Sache weiterhelfen könnt.

Viele Liebe Grüße
Davido ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 28.08.2006, 02:59  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Herzlich Willkommen im Forum

trim() ist doch sinnvoll. Selten machen Leerzeichen oder andere Whitespaces vor Benutzereingaben Sinn, es sei denn der Benutzer möchte Einfluß auf die Darstellung nehmen, die ihm nicht zusteht.

http://de.php.net/isset
http://de.php.net/empty
http://de.php.net/htmlspecialchars
http://de.php.net/htmlentities
http://de.php.net/trim
http://de.php.net/rtrim
http://de.php.net/ltrim
http://de.php.net/strlen

http://de.php.net/manual/de/security...-injection.php
http://de.php.net/addslashes
http://de.php.net/mysql_real_escape_string

Zu 3.: Naheliegend wäre hier, die Benutzereingabe einfach bedienungslos durchzuwinken. Dass du die Gefahren kennst, davon gehe ich aus. Zur Sicherheit nochmal:
http://de.wikipedia.org/wiki/SQL_Injection
Zergling-new ist offline  
Alt 28.08.2006, 09:46  
Erfahrener Benutzer
 
Registriert seit: 12.07.2004
Beiträge: 219
d-jango zeigte ein beschämendes Verhalten in der Vergangenheit
d-jango eine Nachricht über ICQ schicken
Standard

Zum anderen würde ich, wenn du die Möglichkeit hast, den Benutzer, mit dem du deine PHP-Skripte mit der Datenbank verbindest soweit in seinen Rechten beschränken, dass dieser z.B. keine Datenbanken löschen kann... o.ä.

Richte alles nach dem Minimalprinzip ein, dann ist das noch ein zusätzlicher Sicherheitsaspekt
__________________
http://www.fun2stay.de
d-jango ist offline  
Alt 28.08.2006, 13:05  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard Re: Gefährlichen Code entfernen

Hi "Davido", ein herzliches Willkommen auch von mir.

Zitat:
Zitat von Davido
Wie kann man gefährlichen Code aus Benutzereingaben entfernen. Und zwar:

1. Wenn man die Eingabe ausgeben will
2. Wenn man die Eingabe in einer Datenbank speichern will (SQL Injektion [??] vermeiden)
3. Wenn man die Eingabe speichern und dann exakt so, wie sie eingegeben wurde, ausgeben will
Hast ja schon einiges an Futter bekommen. Dennoch ein paar grundsätzliche Worte von mir als Einstieg:

In PHP gibt es die Option magic_quotes.gpc. Wenn diese eingeschaltet ist (und das ist sie per default und auf praktisch allen Shared Hosts von Massen-Providern). Die Option bewirkt, dass alle eingehenden Werte wie mit addslashes() behandelt werden, allerdings auch ziemlich unvollständig und über die verschiedenen PHP-Versionen unkonsistent (siehe [1]).

Da das in aller Regel nicht das Escaping ist, das du brauchst, macht esSinn, diese Option erstmal pauschal abzuschalten oder ggf. ihre Wirkungen rückgängig zu machen.

Alles weitere hängt absolut davon ab, was du mit den Daten vorhast. Willst du die Daten in eine MySql-Query klopfen, dann nimm mysql_real_escape_string(), willst du sie als Option für eine Dateioperation verwenden, dann vielleicht basename(), soll ein Wert Teil einer bestimmten Wertemenge sein, dann z.B. in_array(), soll er ein bestimtes Schema erfüllen, dann z.B. preg_match(). Hängt einfach davon ab, was du willst.

Zur Ausgabe nimmst du im einfachsten Fall htmlentities(). Falls du z.B. UTF-8 verwendest, dann eben mb_convert_encoding().

[1] http://bugs.php.net/bug.php?id=29776

Basti
Basti ist offline  
 


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
Probleme mit PHP Code HappyDieMuschel PHP Tipps 2008 7 28.05.2008 06:34
[Erledigt] PHP Code aus Datenbank ayti PHP Tipps 2008 8 26.05.2008 19:40
Design und Code Trennen TeazY PHP Tipps 2008 29 21.05.2008 12:08
Nur bestimmten Html Code zulassen? litterauspirna PHP Tipps 2008 5 29.04.2008 12:30
einfacher Code zum Einbinden von "Inhaltsbereichen" MaxDittmann PHP-Fortgeschrittene 6 01.10.2007 15:54
PHP: Wie parst der Server den Code am schnellsten? SvenLittkowski PHP Tipps 2007 4 17.12.2005 10:58
bb code in htm code wandeln janni PHP Tipps 2007 2 04.11.2005 22:36
[Erledigt] JS Code in PHP Code?? HTML, Usability und Barrierefreiheit 12 08.08.2005 15:45
Seite 1/2/3..Code was haltet ihr davon? Matthiasnet PHP Tipps 2005-2 4 29.07.2005 20:29
[Erledigt] Lesbarkeit von Code Off-Topic Diskussionen 6 14.07.2005 14:48
code aus db mit eval replacen chief-thomson PHP Tipps 2005-2 4 08.07.2005 15:33
Benutzereingaben von Formular prüfen (Sicherer Code?) PHP Tipps 2005 6 27.01.2005 10:16
code verstecken Skazi PHP Tipps 2005 4 19.01.2005 13:51
[Erledigt] bb code innerhalb von bb code geht nicht PHP Tipps 2007 2 12.01.2005 17:29
Problem mit COde PHP Tipps 2004 5 28.08.2004 16:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
gefährlichen code entfernen php, html eingabe auf webseite gefährlichen code entfernen, code entfernen php, gefährlichen code von ihrer website entfernt, de..wikipedia.org/wiki/sql_injection#escaping, formulareingabe gefährliche eingaben entfernen, php eingaben auf gefährliche eingaben prüfen, html php code entfernen, php gefährlichen code entfernen, gefährliche google codes, wie kann ich von meine hompage geferliche code entfernen, gefährliche benutzereingaben entfernen

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:37 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.