News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

La ricerca è un po' pericolosa...

Started by Gianni_T, January 30, 2005, 06:46:25 AM

Previous topic - Next topic

Gianni_T

SMF permette la ricerca anche di una sola lettera. Ad esempio se in questo forum cerco la lettera 'a' o la lettera 'i', dopo un bel po' di tempo nel quale immagino che il server soffra parecchio, mi vengono restituite 200 pagine di risultati. Questo potrebbe essere il modo per buttar giù un server...

Non c'è un modo per impostare il numero minimo di caratteri che una parola deve avere per essere considerata valida nella ricerca?

FaSan

Parlando a livello teorico è sufficiente inserire una IF prima di effettuare la ricerca, che controlli il numero di caratteri inseriti.

A livello pratico è sicuramente fattibile, ma in questo momento non ho molto tempo per guardarci.

E' lecito però farti una domanda ?!

Tu che sei l' Owner di un sito web che si chiama "PHPNews" e che quindi dovrebbe avere il PHP come pane quotidiano, x quale motivo non ci ha buttato un occhio da solo ?  :D

Ovviamente non è una critica... pura curiosità ;)


FaSan

Gianni_T

E' vero, il PHP è per me pane quotidiano, e spesso mi capita di fare modifiche e customizzazioni anche a grosse applicazioni.
l problemi però sono diversi:

1) se c'è qualcosa che non va in un progetto è più corretto che venga affrontato dagli sviluppatori, sia afiinché ne traggano beneficio tutti, sia perché solo loro sanno i motivi di determinate scelte e hanno pianificato gli sviluppi futuri

2)  con la 'manomissione' di uno script si può perdere la possibilità di effettuare futuri aggiornamenti, oppure si è costretti a ripetere le personalizzazioni per ogni versione successiva

3) non si è mai certi che gli effetti di una modifica non banale rimangano confinati nel punto in cui è stata apportata.

4) nei limiti del possibile mi piace avere versioni 'vaniglia' delle applicazioni

In questo caso non mi sembra che il problema della ricerca rientri in una semplice personalizzazione dello script, poiché potrebbe risultare invece un vero e proprio problema di sicurezza da considerare in maniera più seria.

La ricerca presenta Inoltre altre inefficienze: le ricerche vengono effettuare sui campi 'body' e 'subject' della tabella smf_messages con la clausola 'LIKE' che non può essere indicizzata quando si una il carattere % come prima lettera. Forse sarebbe stato meglio adoperare una ricerca Full-Text.

Ecco perché ho preferito sollevare il problema quì sul forum che risolverlo da me.




Gianni_T

ho fatto una ricerca sul forum ed ho trovato una discussione in cui viene proposta una soluzione al problema:
http://www.simplemachines.org/community/index.php?topic=15460.0

comunque ritengo che sarebbe meglio optare per una ricerca di tipo FULL TEXT

Advertisement: