Topic: modulo XML, come andar tranquilli?  (Letto 301 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline nuzzopippo

  • python sapiens
  • *****
  • Post: 607
  • Punti reputazione: 0
    • Mostra profilo
modulo XML, come andar tranquilli?
« il: Dicembre 20, 2021, 12:43 »
I miei saluti.

Sto implementando un giocattolo che, tra le altre cose, "dovrebbe" andarsi a leggere/scrivere playlist di file multimediali, tra i vari formati possibili vi sono anche delle codifiche xml, tutto sommato anche abbastanza comode ma vedo nella docs il seguente warning :

Citazione
Warning The XML modules are not secure against erroneous or maliciously constructed data. If you need to parse untrusted or unauthenticated data see the XML vulnerabilities and The defusedxml Package sections.

Nell'immediato la faccenda non mi da particolari pensieri, dato che il giocattolo è finalizzato ad un uso locale, e neanche mi preoccupa molto per eventuali future espansioni, valutare direttamente il testo non è la fine del mondo, mi chiedo, però, se vi sono moduli python più "robusti" di quello nella libreria standard o se almeno vi siano tutorials sugli accorgimenti da tener presenti, giusto per non re-inventare l'acqua calda.

Con la mia scarsa conoscenza dell'inglese, purtroppo, è una faticaccia raccapezzarsi. Qualcuno saprebbe darmi indicazioni sull'argomento?

Grazie dell'attenzione :)

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 3.215
  • Punti reputazione: 9
    • Mostra profilo
Re:modulo XML, come andar tranquilli?
« Risposta #1 il: Dicembre 21, 2021, 13:26 »
mah no, non c'è molto altro da dire rispetto a quello che è già contenuto nella documentazione di defusedxml, appunto. https://pypi.org/project/defusedxml/ Qui trovi spiegazioni, suggerimenti, bla bla bla. Vedi anche qui, se vuoi: https://realpython.com/python-xml-parser/#defuse-the-xml-bomb-with-secure-parsers

Nota che qui stiamo comunque parlando dei problemi che puoi trovare quando ti parsi xml per conto tuo, beninteso. Se invece stai usando un framework più vasto, allora è sperabile che sia il framework a fare la cosa giusta per te. Per esempio, Django/Django Rest sa benissimo come fare, nel suo parser... https://jpadilla.github.io/django-rest-framework-xml/ E indovina come fa a fare la cosa giusta? Si appoggia a defusedxml e non ci pensa più.

Offline nuzzopippo

  • python sapiens
  • *****
  • Post: 607
  • Punti reputazione: 0
    • Mostra profilo
Re:modulo XML, come andar tranquilli?
« Risposta #2 il: Dicembre 22, 2021, 07:25 »
Grazie delle indicazioni, dovrò studiacchiare un po' ma cercherò di farne tesoro :)