Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 25-10-2007, 16:50
maria_dumm
 Newbie
Links : Onlinestatus : maria_dumm ist offline
Registriert seit: Oct 2007
Beiträge: 2
maria_dumm ist zur Zeit noch ein unbeschriebenes Blatt
Standard [PHP5] ldap sonderzeichen

hallo, ich möchte bei einem ldap_add im dn sonderzeichen einsetzen können.

laut doku gehören hier #,+"\<>; und null zu den sonderzeichen.
man soll einen hexwert erzeugen und dem ein \ voranstellen.
aus + würde dann werden: \2B

ich habe mich nun in PHP etwas herumgespielt.

------------------------------------------------------------
\2B

variante 1:
$strRaute='\2B'; (einfache Anführungszeichen)
$strDN=...$strRaute...;
ldap_add liefert wieder einen Fehler, da es das \ im DN nicht mag.

variante 2:
$strRaute="\2B"; (doppelte Anführungszeichen)
$strDN=...$strRaute...;
LDAP akzeptiert die DN und speichert die Daten ab.

allerdings kommt mir das spanisch vor. wenn ich das richtig interpretiere, ergibt "\2B" 2 zeichen:
\2 ergibt ein zeichen, B bleibt bestehen. kann das stimmen?????

------------------------------------------------------------
\x2B

anscheinend wird ein "\x2B" schon vom PHP-Interpreter wie ein einziges zeichen angesehen.
2B ergeben 1 zeichen, nämlich das +
LDAP reagiert wieder mit einem Fehler darauf.

------------------------------------------------------------
&amp;#43;

"&amp;#43;" (43 ist der dec-wert vom hexwert 2B) bzw. '&amp;#43;' liefern erst bei der bildschirmausgabe
1 zeichen, nämlich das +
da LDAP das ; sieht, liefert es natürlich einen Fehler.

die /2B-Variante scheint die einzige zu sein, die LDAP akzeptiert. allerdings befürchte ich, dass es damit
probleme gibt. ein "\22" (2 zahlen) wird als 1 zeichen, ein "\2B" (1 zahl und 1 buchstabe) als 2 zeichen
angesehen. das kann doch nicht gutgehen, oder?????
Mit Zitat antworten