Errore nella compilazione del "campo come si vota"

Avvisi e discussioni su bug, soluzioni e migliorie del software

Moderatori: roby, Moderators

Rispondi
pik
Newbie
Newbie
Messaggi: 1
Iscritto il: ven apr 24, 2009 12:00 am

Errore nella compilazione del "campo come si vota"

Messaggio da pik »

Salve a tutti.
Provando il programma ho notato che inserendo un testo contenente il doppio apice o la parentesi, si verifica un errore di inserimento del testo. E' un problema noto? A parte il non usare questi caratteri qualcuno ha trovato soluzioni?
Grazie e buon lavoro
luc
Site Admin
Site Admin
Messaggi: 83
Iscritto il: ven apr 25, 2008 12:00 am

Re: compilazione del "campo come si vota

Messaggio da luc »

pik ha scritto:Salve a tutti.
Provando il programma ho notato che inserendo un testo contenente il doppio apice o la parentesi, si verifica un errore di inserimento del testo. E' un problema noto? A parte il non usare questi caratteri qualcuno ha trovato soluzioni?
Grazie e buon lavoro
Buonasera,
quello di non accettare alcuni caratteri è un problema voluto a protezione dell'immissione nel database.
La funzione la puoi trovare in admin.php nella dir principale dell'amministrazione:

Codice: Seleziona tutto

foreach ($_GET as $sec_key => $secvalue) {
    if ((eregi("<[^>]*script*"?[^>]*>", $secvalue)) ||
	(eregi("<[^>]*object*"?[^>]*>", $secvalue)) ||
	(eregi("<[^>]*iframe*"?[^>]*>", $secvalue)) ||
	(eregi("<[^>]*applet*"?[^>]*>", $secvalue)) ||
	(eregi("<[^>]*meta*"?[^>]*>", $secvalue)) ||
	(eregi("<[^>]*style*"?[^>]*>", $secvalue)) ||
	(eregi("<[^>]*form*"?[^>]*>", $secvalue)) ||
	(eregi("<[^>]*img*"?[^>]*>", $secvalue)) ||
	(eregi("<[^>]*onmouseover*"?[^>]*>", $secvalue)) ||
	(eregi("<[^>]*body*"?[^>]*>", $secvalue)) ||
	(eregi("\([^>]*"?[^)]*\)", $secvalue)) ||
	(eregi(""", $secvalue)) ||
	(eregi("inside_mod", $sec_key))) {
        die ("Operazione non consentita");
     }
  }
Come vedi ci sono alcune parole e caratteri non consentiti nell'invio
In particolare per permettere le parentesi puoi cancellare questa riga:

Codice: Seleziona tutto

(eregi("\([^>]*"?[^)]*\)", $secvalue)) ||
e per le virgolette questa:

Codice: Seleziona tutto

(eregi(""", $secvalue)) ||

Buon lavoro
Rispondi