Escape DN LDAP
Smith, John diventa Smith\, John: la virgola resta nel nome invece di spezzare il nome distinto. Segni più, virgolette, backslash, parentesi angolari e punti e virgola ricevono lo stesso trattamento RFC 4514, e la decodifica lo annulla. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- Smith, John
- Modalità di calcolo
- Encode
- Risultato
- Smith\, John
- Codifica
- ldap_dn_rfc4514
- Lunghezza dell'input
- 11
- Lunghezza dell'output
- 12
Questo escape di DN LDAP converte un valore di attributo grezzo nella forma escaped richiesta da RFC 4514 per le rappresentazioni testuali dei nomi distintivi, e inverte lo stesso mapping quando Lei incolla un componente escaped di nuovo in caratteri ordinari. La codifica riscrive virgole, segni più, virgolette doppie, barre rovesciate, parentesi angolari e punti e virgola così che un common name, un'unità organizzativa o un frammento di filtro scritto a mano possa vivere dentro un RDN senza spezzare il DN circostante. I diesis iniziali e gli spazi ASCII iniziali o finali ricevono anch'essi una barra rovesciata affinché i server di directory non li trattino come marcatori esadecimali o riempimento insignificante. La decodifica accetta sia la forma a carattere speciale sia le coppie esadecimali a due cifre, come barra-due-C per una virgola, e fallisce chiaramente su una barra finale isolata, una cifra hex incompleta o una lettera di escape illegale, così gli errori di battitura non arrivano in silenzio a DN di bind o a script di migrazione. Il percorso è pienamente deterministico: lo stesso testo e la stessa modalità producono sempre lo stesso risultato, senza chiamate di rete, sali casuali né scorciatoie dipendenti dalla data. I controlli semplici includono la codifica di un cognome con virgola in forma barra-virgola e la decodifica di un soprannome tra virgolette con coppie barra-virgoletta di nuovo in virgolette reali.
Dove l'escape e l'unescape di DN LDAP si inseriscono nel flusso dello sviluppatore
I team di identity e SSO codificano display name dinamici prima di inserirli in un nome distinto relativo, così una sola virgola o virgoletta non spezza la rappresentazione testuale circostante. Gli autori di pipeline decodificano export densi di escape da directory legacy affinché il codice applicativo lavori con virgole e spazi reali invece di sequenze letterali barra-virgola.
Gli ingegneri di qualità generano coppie encode e decode deterministiche per test di contratto, così un middleware che dichiara supporto RFC 4514 non possa passare in silenzio a una tabella di escape non standard tra release. Gli educatori usano lo stesso strumento per insegnare la differenza tra un nome distinto multi-RDN completo, un singolo valore di attributo e il piccolo insieme di escape che la specifica consente in quel valore.
Casi d'uso
Valori di attributo RDN sicuri
Escapi cognomi, OU e valori CN in testo libero così che virgole, plus, virgolette e spazi di bordo non spezzino un nome distinto scritto a mano o da template.
Domande frequenti
Quanto costa l'escape di DN LDAP?
È gratis nel Suo browser su questa pagina.
Quali caratteri vengono escaped in encode?
Encode riscrive virgola, più, virgoletta doppia, barra rovesciata, minore, maggiore e punto e virgola con prefisso barra; cancelletto iniziale e spazio ASCII iniziale o finale allo stesso modo; e gli ottetti di controllo U+0000–U+001F come hex a due cifre.
Cosa succede se un escape è incompleto o illegale?
Barre isolate, coppie hex incomplete e lettere di escape fuori RFC vengono rifiutate.
Il risultato è deterministico?
Sì. Lo stesso testo e la stessa modalità producono sempre lo stesso risultato, senza rete, casualità né comportamento dipendente dalla data.
Perché gli spazi all'inizio o alla fine di un valore ricevono l'escape?
Perché i server di directory considerano uno spazio iniziale o finale come riempimento e possono eliminarlo, mentre il backslash lo conserva. Anche un cancelletto proprio all'inizio riceve l'escape, così non viene letto come segno di un valore esadecimale.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/enc/ldap-dn-escape \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Smith, John"}'const res = await fetch("https://api.kit.forhosting.com/enc/ldap-dn-escape", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Smith, John"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/ldap-dn-escape",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Smith, John"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/ldap-dn-escape", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Smith, John"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Smith, John"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/ldap-dn-escape", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "Smith, John"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.ldap_dn_escape",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Che cos'è l'escape del componente DN RFC 4514 e cosa restituisce questo strumento
Un nome distinto LDAP è una sequenza di nomi distinti relativi e ogni RDN associa un tipo di attributo a un valore stringa. Un diesis all'inizio del valore viene escaped affinché non sia letto come marcatore di stringa hex, e uno spazio ASCII all'inizio o alla fine viene escaped affinché non sia scartato come spazio bianco insignificante. Gli ottetti di controllo sotto lo spazio si scrivono come solidus inverso e due cifre esadecimali maiuscole, la forma portabile degli esempi di directory e di molti binding di linguaggio. Questa pagina implementa quel set sul percorso encode e l'inverso su decode: la risposta è solo la stringa del componente, senza inventare nomi di tipo di attributo né percorrere un albero multi-RDN. A differenza di un parser DN completo, questa landing non spezza sulle virgole non escaped in RDN, non valida schemi object-class e non apre un socket LDAP. RFC 4514 definisce come quel valore si scrive in testo affinché i parser recuperino gli ottetti originali senza confondere i separatori strutturali con il payload. Una virgola letterale deve comparire come coppia barra-virgola, un più letterale come barra-più, e virgoletta doppia, barra rovesciata, minore, maggiore e punto e virgola seguono lo stesso schema. La risposta JSON include sempre result per la stringa trasformata, mode che riecheggia encode o decode, encoding fissato a ldap_dn_rfc4514, e input_length più output_length affinché i test possano affermare le dimensioni. Encode segnala anche escapes_applied e decode escapes_resolved per confermare quanti caratteri speciali o sequenze di escape sono stati riscritti. Non c'è omissione silenziosa parziale di una sequenza rotta: ogni coppia con barra è legale sotto RFC 4514, altrimenti la richiesta fallisce con invalid_input.
Come vengono letti text e mode e come i risultati restano riproducibili
Encode scorre la stringa per unità di codice UTF-16 e sostituisce solo i caratteri che RFC 4514 richiede di escapare, lasciando lettere, cifre e Unicode ordinario invariati affinché i nomi leggibili restino leggibili. Poiché la barra rovesciata viene riscritta nello stesso passaggio da sinistra a destra di virgole e virgolette, ottiene un unico passaggio di escape coerente allineato alle tabelle comuni dei toolkit di directory per i valori di attributo. Decode analizza le sequenze di solidus inverso: se i due caratteri successivi sono cifre esadecimali, la coppia è trattata come un ottetto; altrimenti il carattere successivo deve essere uno degli speciali spazio, cancelletto, virgoletta, più, virgola, punto e virgola, minore, maggiore, barra o uguale. Il campo di payload preferito è text, con alias input, value, s, payload, dn e component così che form, query string e client SDK riutilizzino lo stesso contratto senza rinominare le colonne. Mode ha come predefinito encode e accetta decode in modo esplicito; gli alias op, direction e action mappano sullo stesso commutatore per script che già usano quei nomi, e escape o unescape sono accettati come sinonimi. Una barra finale incompleta, una sola cifra hex senza partner o qualsiasi altra lettera dopo la barra solleva invalid_input con un messaggio che nomina il problema. Il tetto di lunghezza di centomila caratteri mantiene prevedibile la memoria del Worker e copre frammenti multivalore lunghi, DN di esempio e la maggior parte degli appunti. Abbini l'esecuzione gratuita nel browser su questa pagina all'API a pagamento quando le serve lo stesso mapping in una pipeline automatizzata senza reimplementare le tabelle RFC 4514. Gli input non validi restituiscono invalid_input e non vengono addebitati, il che mantiene economica la validazione mentre le transform riuscite restano un prezzo fisso per item di $0.002.
Dove l'escape e l'unescape di DN LDAP si inseriscono nel flusso dello sviluppatore
Su questa pagina il lavoro gira interamente nel Suo browser; tramite l'API ogni consultazione riuscita costa $0.002, la validazione fallita non viene addebitata e nulla viene memorizzato dopo la risposta. Quella divisione—esplorazione interattiva gratuita e API identica a pagamento—corrisponde al resto del catalogo KIT di livello A e Le consente di passare da una demo in aula a una pipeline automatizzata senza cambiare il risultato escaped. La abbini al percent-encoding URL, agli helper di stringa JSON o alle virgolette di argomenti shell quando serve transform di testo più ampie, e ad altri endpoint di codifica per costruire un piccolo laboratorio di strumenti gratuiti e deterministici per CI e documentazione.
Casi di integrazione
Pulizia LDIF e migrazioni
Decodifichi escape RFC 4514 da export, log o file LDIF golden di nuovo in Unicode plain per diff leggibili e codice applicativo.
Coppie deterministiche in CI
Generi coppie encode e decode riproducibili per unit test, contratti di middleware di directory e strumenti che devono allinearsi alle tabelle RFC 4514.
Domande tecniche
Quali modalità sono supportate?
mode=encode (predefinito) trasforma testo grezzo in escape di componente DN RFC 4514. mode=decode trasforma quegli escape di nuovo in caratteri.