Joomla.it Forum

Non solo Joomla... => Sviluppo => : iacoposk8 06 Sep 2012, 20:10:36

: html purifier da errore
: iacoposk8 06 Sep 2012, 20:10:36
ciao a tutti! sto sviluppando un'estensione per joomla 2.5 ma mi da questo errore
:
500 - Passed array does not specify a callable static method (cannot access private method JLoader::_autoload())il problema è sicuramente dato da html purifier, perchè se commento le relative righe tutto funziona perfettamente! cosa può essere? e come risolvo?

ps: avendo un campo di testo libero dove si può anche formattare il testo e mettere link e immagini devo per forza filtrare il dato
: Re:html purifier da errore
: mau_develop 06 Sep 2012, 21:10:07
html purifier filtra l'html non il php
html purifier filtra l'output non il codice

M.
: Re:html purifier da errore
: iacoposk8 06 Sep 2012, 21:49:40
non ho capito... quale può essere il problema? anche in visione dell'errore?
: Re:html purifier da errore
: iacoposk8 08 Sep 2012, 09:31:54
io ho filtrato solo una variabile post, non il codice... perchè da questo errore?
: Re:html purifier da errore
: mau_develop 08 Sep 2012, 15:29:15
html purifier filtra l'html non il php
html purifier filtra l'output non il codice

M.
perchè se non sai a cosa serve html purifier succede... te l'ho già detto sopra... ma puoi anche continuare se ti piace

poi in joomla i $_POST e i $_GET non esistono e non devono esistere, i dati si prendono e si filtrano in altro modo, lato client con js e lato server con le regex ... mai letto la guida di sviluppo componenti? ...c'è un intero paragrafo sul filtro dei dati.
per i form:
http://docs.joomla.org/Developing_a_Model-View-Controller_Component/2.5/Adding_verifications
per le variabili della request:
http://docs.joomla.org/Secure_coding_guidelines
http://docs.joomla.org/Retrieving_and_Filtering_GET_and_POST_requests_with_JRequest::getVar
http://docs.joomla.org/Retrieving_request_data_using_JInput

M.
: Re:html purifier da errore
: iacoposk8 09 Sep 2012, 16:17:17
Si ma non ti incavolare! non son stato aggressivo verso di te, ho solo fatto una domanda... e tutte quelle cose che gentilmente mi hai linkato, le conosco, ma per esempio, JRequest::getvar se la imposto in modo che mi preleva la variabile POST con nome "descrizione" che proviene da una textarea del tinyMCE, se l'utente in quest'area di testo inserisce dei link (per fare un esempio) mi filtra troppa roba! nel senso rimuove tutti i tag! se c'è <a href='....'>testo[/url] mi rimane solo testo, per questo sto provando con html purifier
: Re:html purifier da errore
: mau_develop 09 Sep 2012, 17:28:34
vuoi fare la stessa cosa che probabilmente fa tiny quando salva un articolo.. più facile di così, basta copiare.

M.
: Re:html purifier da errore
: iacoposk8 10 Sep 2012, 07:39:52
Però ci son due cose che non mi sono chiare allora:
1) se il filtro dei dati me lo fa già l'editor, senza usare JRequest::getvar, poi come prelevo la variabile?devo usare $_POST? (immagino di no ma non saprei cos'altro)
2) I controlli lato client son facilmente bypassabili, anche io saprei scrivere una cosa in una textarea e poi inviare tutt'altra cosa... quindi anche xxs e sql injection
: Re:html purifier da errore
: iacoposk8 10 Sep 2012, 12:19:02
dovrei aver risolto, chiedo solo una conferma se questo è il modo giusto.
Avevo visto che scrivendo
$post = JRequest::getVar('content', 'post');
la variabile post era senza <a href.....
mentre scrivendo: $post = JRequest::getVar('content', '', 'post', 'string', JREQUEST_ALLOWHTML);
i link sono funzionanti ma comunque com una cosa tipo
:
<script>alert("ciao");</script> si arriva ad avere una variabile uguale ma senza i tag script...
Quindi è corretto prelevare i dati dal form in questo modo?

: Re:html purifier da errore
: mau_develop 10 Sep 2012, 13:52:30
no... ma tanto ti ostini a non studiare ... che te lo dico a fare? ti dovrei dire che lo strumento per i form è Jform e di leggere come funzionano i form in joomla...

Tu non stai sviluppando con Joomla ne con il suo framework, non usi il pattern corretto (mvc) e questo porta tutto ciò che scrivi ad essere puramente una perdita di tempo.
Secondo me la lacuna principale ce l'hai con le classi e l'oop, capito questo concetto puoi riuscire a comprendere ed usare l'mvc...

ovvio che joomla funziona se prendi i dati dal post... a qs punto e in questo modo puoi sviluppare (o credere di farlo) per tutto.

M.