php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.01.2009, 02:43  
Neuer Benutzer
 
Registriert seit: 02.01.2009
Beiträge: 15
Anploe befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Zeichen Whitelist erstellen und string überprüfen

Ich bin ziemlicher anfänger und habe da eine frage

Ich möchte eine Variable überprüfen ich habe jetzt htmlspecialchars verwendet
und war eigendlich zufrieden bis ich ein bischen über sicherheit gelesen habe
da is mir dann aufgefallen das htmlspecialchars zeichen wie $ und ' zulässt?

gibt es eine möglichkeit nur die Zeichen a-z A-Z 0-9 und -_ Zuzulassen ?
Anploe ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 03.01.2009, 02:58  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Wenn Du bisher htmlspecialchars() verwendet hast ...was willst Du erreichen/wo willst Du das einsetzen?

Zitat:
Zitat von Anploe
gibt es eine möglichkeit nur die Zeichen a-z A-Z 0-9 und -_ Zuzulassen ?
Zum Beispiel mit ctype oder regulären Ausdrücken kannst Du Zeichenketten auf diese Art abtesten.
David ist offline  
Alt 03.01.2009, 03:08  
Neuer Benutzer
 
Registriert seit: 02.01.2009
Beiträge: 15
Anploe befindet sich auf einem aufstrebenden Ast
Standard

ich möchte die usereingabe vom benutzernamen Überprüfen und der sollte nur aus den Zeichen a-z A-Z 0-9 und -_ bestehen dürfen ich hab htmlspecialchars()
verwendet aber es werden zeichen wie $ und ' zugelassen

auf einer Seite über sicherheit Stand das diese Zeichen gefährlich werden können es stand leider keine lösung dabei wie man die aber sichern könnte ?
Anploe ist offline  
Alt 03.01.2009, 03:36  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

In wie fern gefährlich? Das hängt immer davon ab, wo und wie Du die Daten verwendest.
Wenn Du sie innerhalb eines HTML Dokuments ausgeben willst (und sie nicht die Struktur des Dokuments ändern dürfen), verwendest Du htmlspecialchars()/htmlentities(). Diese beiden Funktionen maskieren die Zeichen, die HTML "gefährlich" werden können.
Wenn Du die Daten mit mysql_query() verwenden willst, sicherst Du Zeichenketten mit mysql_real_escape_string() ab. usw usw.
Von einer Funktion sicherFürAllesUndJedes() halte ich nicht allzuviel.
David ist offline  
Alt 03.01.2009, 04:04  
Neuer Benutzer
 
Registriert seit: 02.01.2009
Beiträge: 15
Anploe befindet sich auf einem aufstrebenden Ast
Standard

ok dann sag ich danke ich werde dann vermutlich erstmal die
ctype_alnum funktion nehmen auch wenn die user dann keinen _- und kein leerzeichen im usernamen haben dürfen.
Anploe ist offline  
Alt 03.01.2009, 13:52  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Wenn ich in einem Forum ein ' eintippen möchte, und das ' verschwindet, weil der Programmierer das ' wegradiert, dann werde ich eine Mail an den Support schreiben und fragen, wo mein ' geblieben ist.

Wenn ein ' in einer Usereingabe so brandgefährlich wäre, dann würde solch eine Seite wie php.de das ' sicher nicht in die Forumdatenbank lassen.

Achso: Das gilt auch für " $ / % und andere Sonderzeichen.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline  
Alt 03.01.2009, 17:30  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Du musst im Prinzip in Vorhinein abwegen was du bei welcher Feldeingabe erwartest. Und dann kannst z.B. so prüfen.

PHP-Code:
if(!preg_match("#([a-z0-9äöüß _-])#si",$_POST['username']))
{
       
//fehlerausgabe etc.

So schliest du alles aus auser diese Zeichen.

Mit dem i nach dem Delimiter sagst das zwischen Groß und Klein schreiben kein Unterschied gemacht wird.

Bei der Überprüfung eines Login würde ich aber den Modifier i nicht bei der Überprüfung verwenden.
__________________
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
litterauspirna ist offline  
Alt 04.01.2009, 01:02  
Neuer Benutzer
 
Registriert seit: 02.01.2009
Beiträge: 15
Anploe befindet sich auf einem aufstrebenden Ast
Standard

hmm schade
PHP-Code:
if(!preg_match("#([a-z0-9äöüß _-])#si",$nick))

 echo 
"FEHLER<br><br><br>";

funktioniert bei mir leider nicht ???

Geändert von Anploe (04.01.2009 um 02:10 Uhr).
Anploe ist offline  
Alt 04.01.2009, 15:10  
Neuer Benutzer
 
Registriert seit: 27.12.2008
Beiträge: 23
Bleda befindet sich auf einem aufstrebenden Ast
Standard

probier mal
PHP-Code:
if(!preg_match("#^[a-z0-9äöüß _-]+$#si",$nick))

 echo 
"FEHLER<br><br><br>";

Bleda ist offline  
Alt 05.01.2009, 02:29  
Neuer Benutzer
 
Registriert seit: 02.01.2009
Beiträge: 15
Anploe befindet sich auf einem aufstrebenden Ast
Standard

Uiii danke Bleda das geht bei mir schon mal! jetzt muss ich nur noch rausfinden welchse zeichen was heist und bewirkt schließlich will ichs auch verstehen

Danke nochmal für de hilfe
Anploe 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
[Erledigt] in einem string an bestimmter stelle ein zeichen einfügen litterauspirna PHP Tipps 2008 2 21.12.2008 12:06
PHP5 SOAP - Problem mit Arrays Calexico PHP-Fortgeschrittene 0 11.09.2008 12:06
String zwischen 1. und 2. Zeichen teilen BartTheDevil89 PHP Tipps 2008 5 29.05.2008 19:01
erste 7 zeichen überprüfen aircrash PHP Tipps 2008 1 28.09.2007 09:11
String nach n Zeichen trennen, ABER Wörter nicht ... yoshy PHP-Fortgeschrittene 6 30.09.2006 19:35
Zeichen aus einem String kopieren PHP Tipps 2006 6 22.01.2006 15:54
2 Zeichen aus einem string löschen socke PHP Tipps 2005-2 3 28.09.2005 05:31
Text zwischen 2 Zeichen in einen Text zu string machen Blank PHP Tipps 2005-2 8 30.07.2005 00:38
String (Dateipfad) auf Länge und Leerzeichen überprüfen HTML, Usability und Barrierefreiheit 4 03.06.2005 12:34
ASCII - Zeichen in String einbinden faux PHP Tipps 2005 10 28.05.2005 18:29
nicht erlaubte Zeichen im SQL - String Datenbanken 0 16.10.2004 11:47
String darf nur bestimmte Zeichen enthalten PHP Tipps 2004 5 05.09.2004 23:05
Textgrafik aus String erstellen Schaelle PHP Tipps 2004 2 08.08.2004 11:29
Zeilenumbruch nach 82 Zeichen bei einem String PHP Tipps 2004 3 05.07.2004 11:23

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php whitelist, whitelist php, php string whitelist, php string auf erlaubte zeichen prüfen, php whitelisting, php zeichen whitelist, php string überprüfen, http://www.php.de/php-einsteiger/50253-erledigt-zeichen-whitelist-erstellen-und-string-ueberpruefen.html, sonderzeichen a-z, php string auf sonderzeichen prüfen, php eingabe whitelist, whitelist in php, php string auf zeichen prüfen, php whitelist erstellen, whitelist erstellen, php white list, whitelist mit php, white list php, php zeichen überprüfen, php zeichen prüfen

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