Domanda

sto sperimentando la creazione di un sistema di commenti. Sto utilizzando php-oEmbed classe e di HTML Purifier . Cosa filtro posso utilizzare per garantire che i commenti sono sicuro di essere inserito nel mio database? So che è possibile utilizzare PHP filtri come FILTER_SANITIZE_STRING, ma questi non revocherò il codice HTML in entità?

Anche se si utilizza qualcosa come il WMD editor di , non è quindi necessario l'uso qualcosa sul lato client, come pure (come PHP Markdown ) per assicurarsi che sia sicuro?

È stato utile?

Soluzione

Fondamentalmente è necessario disinfettare l'input dell'utente ogni volta che si invia da qualche parte.

Quando si inserisce nella vostra base di dati è necessario per evitare che l'iniezione SQL citando caratteri speciali SQL (istruzioni preparate farà questo per voi). Quando lo si invia a un browser è necessario per sfuggire HTML caratteri speciali (PHP ha funzioni per fare questo) per evitare l'iniezione script.

Ci possono essere altri luoghi in cui è necessario fuggire caratteri speciali, anche. Ad esempio, se si inviano i commenti a uno script Bash sul server per fare una sorta di trasformazione. In tal caso si avrebbe bisogno di citare o sfuggire caratteri speciali Bash-specifici.

E 'importante non preventivo / sfuggire nella fase sbagliata: per esempio, non scappare entità HTML quando lo metti nel database a meno che non si è assolutamente sicuri di quello che stai facendo. E 'molto facile sfuggire accidentalmente le cose di nuovo quando si tira fuori il database e preparate a inviarlo a un browser o non sfuggono le cose a tutti, se si sta inviando un messaggio di errore se la connessione al database non riesce (ciò potrebbe causare una vulnerabilità XSS ). Fai la tua fuga all'ultimo momento e sarà più probabile evitare queste trappole.

Altri suggerimenti

Non c'è bisogno di usare qualsiasi filtro per l'iniezione SQL. Una soluzione preferibile è quella di utilizzare . Per esempio, DOP fornisce PDOStatement .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top