Originariamente inviato da P75

Il mio dilemma è nel punto:

// Estrazione dei dati:
$decodedB64Data = base64_decode($b64char); // mah..

Corro dei rischi con questa assegnazione? (Se l'utente inserisse una stringa valida in base64 ma dai contenuti alterati?)
stai operando con codifiche/decodifiche del tutto comuni e con possibilità di codifica e decodifica senza alcuan chiave...
C'è un modo per verificare che la stringa decodificata sia nel formato giusto (JSON) senza usare json_decode()?
no

Inoltre la validazione di json_decode è affidabile? Qualcuno ad esempio potrebbe inserire del codice malevolo, correttamente presentato in JSON, che agisca quando:

$deserializedData = json_decode($decodedB64Data);
dipende.. intendi codice che venga eseguito immediatamente alla decodifica?
non credo...
Esiste qualche classe che mi permetta di associare uno schema ai dati ricevuti (e verificare che corrispondano)?
ti vuoi tutelare?
bene, in tal caso ti consiglio di vedere come fanno i sistemi di pagamento on line delle banche per tutelarsi in caso di dialogo con e-commerce: il sistema è in alcuni casi un pò grezzo ma offre il suo buon margine di sicurezza

ma i dati li fai viaggiare in chiaro? con base64 e json sono praticamente in chiaro...