Dimmi dove ho detto che gli include rallentano il codice. Se l'ho detto ho sbagliato ma se non l'ho detto è il caso che fai più attenzione quando leggiOriginariamente inviato da daniele_dll
no ... alt ... sei stato tu a dire che gli include rallentano ..
Appunto. Ed io ti ripeto ancora che per me l'include dinamico da parametri GET POST o comunque inseribili da chiunque non è la via più sicura per procedere e di conseguenza non rappresenta il massimo della sicurezza.quoto andrea ... e inoltre come ti ho già detto per me, il termine sufficentemente sicuro, in ambito sicurezza vuol dire il massimo della sicurezza ottenibile, però se vuoi te lo ripeto ancora ^^
Ho già detto che so benissimo che è difficile rendere sicuro un software, ma ho detto anche che non è una buona scusa per ignorare metodi di sviluppo migliori o più sicuri. Quindi ti prego non rispondermi più così perchè ci resto veramente malema comunque non è possibile risolvere TUTTI i bachi neanche se usassi 100 software diversi per l'analisi del codice sorgente ... piuttosto il problema sono le tempistiche di risoluzione dei bug
non puoi scrivere codice perfetto però puoi far si che i bug che saltano fuori vengono corretti in tempo record
Allora, la libreria può far parte di un sistema modulare ma sono due concetti diversi.sinceramente, non capisco il senso di queste frasi
LIBRERIE != MODULI
La libreria mette a disposizione _esclusivamente_ delle funzioni (tuttalpiù la dichiarazione di qualche classe e qualche costante) e nulla più.
Un modulo invece può contenere parti eseguibili esterne alle funzioni.
Cioè, è possibile, anzi è quasi sempre vero, che un modulo quando caricato esegue determinate operazioni.
La libreria non esegue nulla. Mette solo a disposizione delle funzioni. Sarà eventualmente il codice dell'applicazione eseguita ad occuparsi di richiamare tali funzioni.
Spero che ora sia più chiara la differenza tra un modulo ed una libreria.
Quello che dici ha senso in altri ambiti. Ma qui stiamo parlando di PHP, un linguaggio interpretato, per di più eseguito volta per volta dal webserver. Non puoi metterti a parlare di run-time, compilazione, ecc. E' completamente fuori tema.il concetto di modulo e di modularità è qualcosa che va nel senso opposto a quant'affermi tu ... in TUTTI i campi si tende alla flessibilità tramite la possibilità di eseguire, caricando e scaricando, componenti a run-time senza la necessità di riavviare un software ... per come la intendi tu non ci sarebbe solo di riavviare un software ma di ricompilarlo ... ed è una cosa non fattibile per ovvii motivi
Stiamo parlando di script PHP. Punto.senti, non puoi prendere e scuotere cosi le fondamenta del 99% dei software dicendo che i sistemi modulari sono schifosi, pericolosi ed inutili ... puoi dire a me non piacciono, o a me non sono mai serviti oppure sono pericolosi ... ma da qui a dire che non servono c'è di mezzo il mare
Non mi permetterei mai di dire che i sistemi modulari sono inutili, persino l'engine di php ne fa uso, apache, il kernel. I sistemi modulari sono essenziali ed utilissimi e non posso far altro che approvarli (oltre che utilizzarli).
Tuttavia su PHP la questione è sostanzialmente diversa.
Ed inoltre tu non solo parli di una situazione fondamentalmente differente ma permetti pure che la funzione di caricamento del codice si basi su input acquisito dalla rete internet. Qui sta il problema, non sui moduli.
Rileggendo mi sono accorto che ho usato semplicemente il termine "moduli" e probabilmente questo ha generato confusione.
Quando ho citato i "moduli" mi riferivo all'argomento in via di discussione, cioè i moduli caricati dinamicamente tramite input manipolabile dall'utente.
Ripeto e spero di chiarire. Il problema non è l'include con tutte le questioni legate al riutilizzo del codice, la manutenzione, ecc. Il problema è che qui si include un file a partire dall'input dell'utente (o meglio, qualsiasi file nella stessa cartella).
Poi chiaramente un modulo comunemente deve rispecchiare una certa intefaccia. Con un include di php come hai detto anche tu vai ad eseguire in sintesi tutto il codice contenuto nel file e la cosa è molto diversa, molto più rischiosa. E' quasi come se un programma per caricare un modulo andasse ad eseguire un altro programma.
Se non fosse vero che intendevo include statici o comunque non da input diretto non avrebbe avuto senso parlare di librerie.. la situazione di pericolo rimaneva la stessa.
Certo che uno deve valutare, infatti io ho sempre detto che lo sconsiglio. Poi chiaramente ognuno fa un po' come vuole. Del resto è anche per via dell'ambito che sono così pignolo. So benissimo che la procedura di cui parliamo è più diffusa della peste e fosse stato un topic diverso probabilmente non avrei nemmeno fatto notare la cosa. Ma dato che si tratta proprio di sicurezza e stiamo su una pillola ho ritenuto giusto avvisare del pericolo potenziale che si corre con un metodo simile.è giusto avvisare l'utente dei possibili rischi che ci sono ... ma i rischi sono POSSIBILI non sono matematicamente certi ... e come sono possibili quelli sono possibili tutti gli altri
uno poi PERSONALMENTE deve valutare e decidere ... ma da qui a dire che si rischia la fine del mondo c'è un po di differenza
Non ho detto di escludere sistemi modulari. Ho detto che in php sono evitabili e, soprattutto, sono evitabili gli include dinamici con input manipolabile dall'utente. Mi sono accorto di essermi espresso male e di aver creato un malinteso prima e mi scuso, la prossima volta cercherò di essere sempre preciso.ma il modo migliore che intendi tu vuol dire escludere i sistemi modulari ... e non è una soluzione ... la soluzione e risolvere possibili bug non smettere di usare date funzionalità
Non credo che l'unico modo sia un include dinamico da un parametro GET, POST o comunque manipolabile direttamente. Tutto qui. Di questo si parlava no?ti ripeto ancora una volta ... DIPENDE da quello che si deve fare
ad esempio se devi fare un sitino semplice non ti serve ma se ti vuoi costruire un'infrastruttura dinamica per fare siti quello è il sistema più efficente
Beh dai.. questa la dice il negoziante vicino a casa mia quando gli dicono che gli ha tolto i virus una settimana prima e li hanno già di nuovo, nonostante l'antivirus da 200€. E' una frase improponibileprogrammare non è solo sicurezza, leggibilità, performance ... ma una media tra i tre e se esagerare è SEMPRE sbagliato ... se vuoi la sicurezza assoluta scrivi il programma e lo metti su un pc spento che non fai usare a nessuno ^^
Lui dice pure che va sotterrato e controllato da 5 guardie armate comunque.. quindi vedo che sei già un po' più leggero.
Io credo che esistano modi più sicuri per aumentare la sicurezza, la leggibilità e le performance e di questo sono fermamente convinto. Se un giorno sarò costretto ad usare i moduli (caricati tramite input modificabile dall'utente) senza avere altre scelte tornerò in questo post e con un link alla webcam vi dimostrerò di passare tutto il giorno in ginocchio sui ceci con andr3a che mi parla delle banche e mark2x che mi dice "devo verificare se è vero che partono gli include ricorsivi" mentre tu reciti tutto il codice di phpnuke ad altra voce![]()
![]()





Rispondi quotando
o estremizzando la cosa portandola quasi al livello del male assoluto 
