SetaPDF
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 11.05.2003, 14:09   #1
TP-Specialist
 
Registriert seit: Aug 2002
Ort: Nähe Wien
prefix ist auf einem guten Weg

unerlaubte zeichen vs. ubbc-code


hi allerseites!

hab ein interface, in dem ich (und später auch andere) einträge machen können (php). folgende function zum überprüfen auf unerlaubte zeichen hab ich:

Zitat:
// unerlaubte zeichen
function unerlaubt($text) {
if (preg_match("/[^a-zA-Z0-9_-]/",$text)) {
$unerlaubt = 1; // unerlaubte zeichen drin
return ($unerlaubt);
}
}
soweit, so gut! gibt dann der user aber z.b. ubbc-codes ein, bekomm ich den status 1 zurück:

fett

wie muss ich die regex-prüfung ändern, damit [ und ] erlaubt sind?? wenn ich diese einfach nur rausnehme, dann schreit die funktion nichtmal bei html-tags auch (ok, das unterbinde ich danach per htmlspecialchars())

p.s.: noch eine forumstechnische frage: wie kann ich code formatiert hier reinstellen??
prefix ist offline   Mit Zitat antworten


Alt 11.05.2003, 20:12   #2
TP-Special Mod
 
Benutzerbild von webmichl
 
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
webmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine User

Re: unerlaubte zeichen vs. ubbc-code


PHP-Code:
// unerlaubte zeichen
function unerlaubt($text) {
if (
preg_match("/[^a-zA-Z0-9_-\\[\\]]/",$text)) {
$unerlaubt 1// unerlaubte zeichen drin
return ($unerlaubt);
}

Zitat:
Original geschrieben von prefix
p.s.: noch eine forumstechnische frage: wie kann ich code formatiert hier reinstellen??
Nimm statt quote php...
webmichl ist offline   Mit Zitat antworten
Alt 12.05.2003, 08:24   #3
TP-Specialist
 
Registriert seit: Aug 2002
Ort: Nähe Wien
prefix ist auf einem guten Weg
danke dir - bestens!!!

und jetzt setzt ich mich mal echt zu den regexp dazu und geb mir die mal intravenös :-)
prefix ist offline   Mit Zitat antworten
Alt 14.05.2003, 16:35   #4
TP-Specialist
 
Registriert seit: Aug 2002
Ort: Nähe Wien
prefix ist auf einem guten Weg
leider funktioniert die regexp nicht:

folgende fehlermeldung vom browser:

Zitat:
Warning: Compilation failed: range out of order in character class at offset 14
in /.../html/v5_1/includes/functions.php on line 17
folgender php-code zum aufruf der function:

PHP-Code:
// berechtigungscheck
$formuser $_POST['username'];
$formpass $_POST['passwort'];

// check auf unerlaubte zeichen
global $formuserunerlaubt$formpassunerlaubt;
$formuserunerlaubt unerlaubt ($formuser);
$formpassunerlaubt unerlaubt ($formpass);
die(
"$formuserunerlaubt"); 
die function (wie oben von webmichl gepostet):

PHP-Code:
// unerlaubte zeichen
function unerlaubt($text) {
    if (
preg_match("/[^a-zA-Z0-9_-\[\]]/",$text)) {
        
$unerlaubt 1// unerlaubte zeichen drin
        
return ($unerlaubt);
    }

ok, ich geb zu: noch hab ich es mir nicht intravenös gegeben - aber leider kann ich einfach keinen fehler feststellen!

es sollen eben folgende zeichen erlaubt sein (und sind meiner meinung nach in der regexp auch erlaubt):

a-z
0-9
_
[ und ]
prefix ist offline   Mit Zitat antworten
Alt 14.05.2003, 16:42   #5
TP-Special Mod
 
Benutzerbild von webmichl
 
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
webmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine User
preg_match("/[^a-zA-Z0-9_-[]]/",$text))

Sind die beiden roten Klammern mit nem Backslash maskiert? ( Das Forum unterdrückt die Teile ab und zu... )
webmichl ist offline   Mit Zitat antworten
Alt 14.05.2003, 16:45   #6
TP-Specialist
 
Registriert seit: Aug 2002
Ort: Nähe Wien
prefix ist auf einem guten Weg
ja, die sind mit einem \ maskiert, jeweils davor!

also reihenfolgen: backslash - eckig auf - backslash - eckig zu - eckig zu - slash
prefix ist offline   Mit Zitat antworten
Alt 14.05.2003, 16:56   #7
TP-Special Mod
 
Benutzerbild von webmichl
 
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
webmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine User
Der Bindestrich vor den Beiden auch? ( sorry, hab ich erst jetzt gesehen... )


Der könnte es nach der Fehlermeldung ( Range... ) nämlich sein - ansonsten seh ich nix böses...
webmichl ist offline   Mit Zitat antworten
Alt 14.05.2003, 16:58   #8
TP-Specialist
 
Registriert seit: Aug 2002
Ort: Nähe Wien
prefix ist auf einem guten Weg
neun underline bindestrich backslash ...

ich kenn mich zwar nicht besonders in regexp aus, aber ich seh auch nix - verdammt *ggg*
prefix ist offline   Mit Zitat antworten
Alt 14.05.2003, 17:03   #9
TP-Special Mod
 
Benutzerbild von webmichl
 
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
webmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine User
Zitat:
Original geschrieben von prefix
neun underline backslash bindestrich backslash ...
Versuchs mal so...

Bindestrich gehört zu der regexp-Spezial-Charactergruppe und muß auch maskiert werden...
webmichl ist offline   Mit Zitat antworten
Alt 14.05.2003, 17:11   #10
TP-Specialist
 
Registriert seit: Aug 2002
Ort: Nähe Wien
prefix ist auf einem guten Weg
peeeeeeeerrrrfffeeeeekt :-) das war's - der backslash vor dem bindestrich hat gefehlt - vielen dank :-)

hier der richtige code:

PHP-Code:
// unerlaubte zeichen
function unerlaubt($text) {
    if (
preg_match("/[^a-zA-Z0-9_\-\[\]]/",$text)) {
        
$unerlaubt 1// unerlaubte zeichen drin
    
}
    else {
        
$unerlaubt 0// ok
    
}
    return (
$unerlaubt);

prefix ist offline   Mit Zitat antworten
Alt 14.05.2003, 19:30   #11
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
nurmal als Tipp, wie du die Funktion ein bissel kürzen kannst (kein muss, aber vielleicht gefällts ja ):
PHP-Code:
function unerlaubt($text) {
    
retrun preg_match("/[^a-z0-9_\\-\\[\\]]/i",$text));

Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 14.05.2003, 20:22   #12
TP-Specialist
 
Registriert seit: Aug 2002
Ort: Nähe Wien
prefix ist auf einem guten Weg
thx!

ich nehm an, "retrun" soll "return" heißen :-)

und das "i" nach dem slash gibt mir "1" bei "wahr" zurück??
prefix ist offline   Mit Zitat antworten
Alt 14.05.2003, 23:36   #13
TP-Special Mod
 
Benutzerbild von webmichl
 
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
webmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine User
i bedeutet soviel wie ignoriere Groß/Kleinschreibung, dh Du verkürzt das a-zA-Z auf a-z und sparst Dir das A-Z in der regexp - bei komplexeren Ausdrücken recht praktisch. Der Rückgabewert richtet sich nach dem Zutreffen der regexp - 1 bei "zutreffend", 0 bei "nicht zutreffend".
webmichl ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
unerlaubte zeichen vs. ubbc-code unerlaubte zeichen vs. ubbc-code
« bildbearbeitung | blöde frage (weiß leider kein besseren titel) »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:35 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67