La mia app crea un file PDF e utilizza le informazioni inserite dall'utente. Come posso evitare tutti gli attacchi con il vettore PDF?
Le variabili htmlspecial saranno sufficienti?
Non voglio abilitare JavaScript in PDF.
Come stai generando i tuoi PDF? A meno che tu non stia creando un markup HTML e usando uno strumento per convertirlo in PDF, htmlspecialchars
non sarà di alcuna utilità per te. <
e &
non sono speciali nel contenuto di testo PDF.
Se stai utilizzando le funzioni PHP PDFlib come PDF_add_table_cell
per inserire il testo nel documento, non è necessario alcun tipo particolare di escape. Queste funzioni prendono il testo non elaborato senza che i caratteri siano "speciali". Oltre al filtro di input generico per rimuovere i caratteri di controllo indesiderati, non dovrebbero essere necessari passaggi di preparazione delle stringhe.
Non sono sicuro di quali attacchi stai cercando di evitare; il problema più comune con il PDF è il malware di scripting incorporato, ma a meno che tu non stia deliberatamente inserendo uno script (usando ad esempio PDF_create_action
) non ce ne saranno nel tuo documento prodotto.
Nel plug-in PDF del browser c'era una vulnerabilità XSS globale che colpiva qualsiasi sito che ospita un PDF; se vuoi assicurarti una protezione da quella degli utenti con vecchi plug-in, puoi pubblicare tutti i tuoi PDF con Content-Disposition: attachment
.
Leggi altre domande sui tag php