Joomla.it Forum
Non solo Joomla... => Sviluppo => : iacoposk8 17 Oct 2012, 12:18:26
-
Ciao a tutti! sto creando il backend di un componente che presenta l'editor tinyMCE inserito in questo modo:
$editor = JFactory::getEditor("tinymce");
$editor->display('codice', 'testo', '100%', '768', '40', '5',false);
echo JHTML::_( 'form.token' );
Solo che ogni volta che premo "salva" il browser mi mostra questo messaggio:
Questa pagina richiede una conferma prima di poter uscire. I dati inseriti potrebbero non essere stati salvati.
e io per proseguire con il salvataggio dei dati devo premere sul tasto abbandona pagina...
c'è modo di non farlo apparire?
grazie :)
-
avevo risposto a una cosa simile 4 giorni fa, se hai piu editor nella stessa pagina ti da quel emssaggio quando salvi. devi disabilitare dal plugin l'avviso al salvataggio o installare il jce
-
Però io sto creando un'estensione e sarebbe sbagliato costringere la gente ad installare un nuovo editor o cambiare le impostazioni personali, l'ideale sarebbe riuscire a farlo funzionare cambiando il codice della mia estensione
-
guardati i widjetkit, loro richiamano un editor tutto loro mi sembra
-
mi puoi spiegare questa cosa? perchè io non conosco questa cosa, se parli di un plugin, un'operazioneda fare, una libreria o altro:)
-
se sapevo come fare te l'avevo gia spiegato. Hai mai incontrato un componente con multipli campi editor?
-
no sto realizzando questo componente ma ha solamente un'editor
-
ma stai sviluppando per joomla 1.5?
perche la chiamata che stai facendo è alquanto inutile. Adesso se crei le form con l'xml non c'e bisogno di impostare nulla basta creare un field di tipo editor e lo genera da se senza problemi. Penso che forse dovresti approfondire lo sviluppo con joomla xche non te ne avere a male ho dato un occhio a quelle che hai fatto e sono solo php buttato li.
-
son troppi anni che uso il php :) saprei fare un sito sicuro anche senza le api di joomla, comunque, mi sti sforzando di farle in filosofia joomla e uso abbastanza le sue api no? l'unica cosa è che non sono in MVC..
Sto sviluppando su joomla 2.5 e ho implementato l'editor con il codice che ho messo nel primo post
-
son troppi anni che uso il php :) saprei fare un sito sicuro anche senza le api di joomla
----------------------------------------------------------------------------------------------------------------------
forse ti illudi, in ciò che hai scritto e pubblicato nella jed ci sono almeno 4 vulnerabilità ad elevato rischio e una varietà di xss incredibile.
M.
-
tipo?
-
va bè... se per caso incappate nella soluzione fatemelo sapere, grazie :)
anche per la cosa degli xss
-
la soluzione te l'ho data, devi generare le form con l'xml come e giusto che siano create. Purtroppo o per fortuna c'e una metodologia da seguire. il tuo problema e che ottiene l'editor in maniera errata perche ti posso assicurare che se non hai editor multipli quel problema si verifica solo quando abbandoni realmente la pagina. Forse e l'ora che se vuoi usare joomla ti studi la guida
http://docs.joomla.org/Developing_a_Model-View-Controller_Component/2.5/Introduction
ciao
-
tipo?
plug_noticeboard/notice_board/core.php
riga 309
$database->setQuery('SELECT * FROM #__cb_notice_board WHERE id ='.$_POST['delete']);
questo è un buco bello grosso se e un id presumo sia un intero quindi almeno un cast a int ci va senno da li puo partire una bella injenction
e in quel file ce ne sono altre mi sembra
poco sotto solita storia
riga 311
if($results[0]['a']==$user_me->get('id') || $results[0]['da']==$user_me->get('id'))
{
$query='DELETE FROM #__cb_notice_board WHERE id='.$_POST['delete'];
$database->setQuery($query);
$results=$database->query();
}
-
hai ragionissima! pensavo di averle sostituite tutte con JRequest::getVar
-
infatti in locale è giusto :D sta sera zippo tutto e lo carico online, grazie della segnalazione:)
-
JRequest::getVar non risolve il problema. devi castre a int! oppure fare un escape del valore in input.
o meglio ancora usare JFactory::getApplication()->input->get('var',0,'UINT') che ti casta il valore ad intero senza segno
-
ma anche se non è un int come fa a fare l'escape se li filtro?
-
non capisco la domanda? vuoi sapere come si fa l'escape di un volore?
-
no nulla, volevo dire che se comunque filtro i caratteri di escape uno non può fare una injenction
-
fai come ti pare, ti dico solo che e buona norma passare valori per come dovrebbero essere, se deve essere un intero forzo l'int ecc, se sei sicuro che non te lo possano bucare lascialo come vuoi.
-
no quello online ora è bucabilissimo!
dopo provo quello in localhost... non sono sicuro che sia sicuro, ma potrebbe, grazie ancora :)