Pagina 5 di 5 primaprima ... 3 4 5
Visualizzazione dei risultati da 41 a 43 su 43
  1. #41
    Originariamente inviato da daniele_dll
    no ... alt ... sei stato tu a dire che gli include rallentano ..
    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 leggi

    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 ^^
    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.

    ma 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
    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 male

    sinceramente, non capisco il senso di queste frasi

    LIBRERIE != MODULI
    Allora, la libreria può far parte di un sistema modulare ma sono due concetti diversi.
    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.

    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
    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.

    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
    Stiamo parlando di script PHP. Punto.
    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.

    è 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
    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.

    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 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.

    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
    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?

    programmare 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 ^^
    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 improponibile
    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

    Lungo le due rive del fiume gelato si stendeva la cupa e tetra foresta di abeti, dai quali il vento aveva appena spazzato il manto di brina. Nella luce crepuscolare quegli abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro. Un silenzio minaccioso incombeva sul paesaggio, privo di qualsiasi segno di vita o di movimento, e desolato e freddo al punto da non poter ispirare che un solo sentimento: quello della più triste malinconia. E nello stesso tempo pareva che da quel paesaggio trapelasse una specie di riso, un riso ben più spaventoso di qualsiasi malinconia o tristezza, un riso tragico, come quello di una sfinge, un riso agghiacciante più della brina e che rammendava l'incombere minaccioso dell'ineluttabile. Era la saggezza potente e impenetrabile dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi degli uomini.

  2. #42
    Originariamente inviato da IroN@xiD
    ...
    IroN@xiD io credo che daniele stia semplicemente dicendo che qualunque input esterno può essere pericoloso ... se analizzi bene il tuo ragionamento vedi che ricevere un nome di file, come ricevere un dato (form qualunque) non è poi così diverso.

    una sql injection non è meno pericolosa di un inclusione dinamica ... e siccome per quanti mysql_real_escape tu possa usare comunque è possibile che l'utente riesca a far danni in db, sfruttando bugs della libreria, di php, dell'host o altro, non vedo perchè bisogni sconsigliare a spada tratta l'inclusione dinamica, quando una volta parsato il dato (come se avessimo usato qualcosa tipo mysql_real_escape_string dedicato al parsing del dato in ingresso) possiamo stare sufficientemente tranquilli che il file faccia parte di quelli che si possono includere, lo stesso livello di tranquillità che potrebbe offrire la funzione di parsing dedicata.

    Poi se questa operazione di verifica dato non esiste o è di suo buggata ... beh ... allora siete fagiani

    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #43
    Originariamente inviato da IroN@xiD
    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 leggi
    avevo letto, o almeno ricordavo, ma ora, anche se velocemente, non sono riuscito a ritrovarlo

    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.
    ma il problema è che a me interessa sviluppare un prodotto che possa funzionare non un prodotto che sia la sicurezza fatta a persona, ma che non funzioni

    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 male
    non si tratta di restarci male o di usare metodo di sviluppi sbagliati ... si tratta che tu mi dici di non usare un mezzo perché SICURAMENTE scriverò codice che è a priori buggato
    ma, per me, è ovvio ed è perfettamente normale che il software sia buggato, e questo lo sarà sempre utilizzando tutto le migliori tecniche di programmazione

    Inoltre scrivere codice modulare non è un "metodo" di sviluppo ... un metodo di sviluppo condiziona come scrivi il codice non le funzionalità che va ad offrire, perché, per principio, il metodo è solo il mezzo per arrivare al fine
    Poter avere i moduli è il fine non il mezzo, poter avere il sistema dinamico è l'obiettivo non il mezzo per arrivare ad un'obbiettivo che è lo stesso mezzo (che cosa intricata :lol: )

    Allora, la libreria può far parte di un sistema modulare ma sono due concetti diversi.
    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.
    ma per me la è, tanto che ho ben detto che modulo != libreria e sinceramente io sono abituato a scrivere cosi ... mi faccio delle librerie e faccio si che i miei moduli si appoggino alle mie librerie

    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.
    i linguaggi a run-time sono invece MOLTO interessanti proprio per quest'aspetto, perché ti permettono di caricare dinamicamente codice senza preoccuparti di tanti problemi legati alla cosa

    Stiamo parlando di script PHP. Punto.
    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.
    php è la stessa questione, ti ripeto ... il fatto che tu non ne usi non implica che sono inutili ... la loro pericolosità più essere maggiore o minore rispetto ad altro, ma qualsiasi riga di codice può divenire pericolosa

    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.
    non vedo che differenza faccia ... i moduli esistono per dare maggiore scelta all'utente con una certa facilità e nel 90% dei casi i moduli vengono richiamati manualmente (manualmente nel senso che vengono richiamate le operazioni che ne fanno uso)

    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).
    se mi dovesse essere passato un numero al posto del nome sarebbe meglio secondo te? ... facendo in modo che il numero 1 corrisponda a homepage ... secondo te sarebbe meglio?

    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.
    qualsiasi moduli carichi di qualsiasi struttura deve rispettare una specifica struttura, è normale, e in qualsiasi moduli, quando lo carichi, può fare operazioni

    parli di php in questo caso ma ovviamente fai riferimento ad altro, ma devi sapere che, ad esempio, le DLL, hanno il loro entry point DllMain (di solito si chiama cosi anche se ovviamente può essere cambiato) dove tu puoi eseguire il tuo codice all'avvio

    ma distinguiamo le cose ... il fine, il mezzo, e chi usa il mezzo per arrivare al fine

    nota: TANTISSIMI software fatti in delphi o vb per fare sistemi "moduliari" invece di usare le com semplicemente avviano altri programmi e utilizzando le api di windows settano la finestra principale del software come parent del programma avviato ... un pratica SCANDOLOSA eppure lo si fa ... ma questo si che è scandaloso

    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.
    ma avvisare è giusto, l'ho ripetuto pure più volte nei post precedenti, il problema è che stai uno estremizzando la cosa portandola quasi al livello del male assoluto

    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.
    io avevo capito e ovviamente non c'è bisogno che ti scusi, io li faccio con una certa frequenza

    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?
    non è l'unico modo ma sicuramente è il modo più "facile" per farlo ... intendiamoci ... se mi venisse proposto un sistema intricato indubbiamente lo farei ma non esiste perché per forza dall'esterno deve arrivarti il modulo da usare perché è l'utente che decide dove andare

    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 improponibile
    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
    ma lol

    cmq dovremmo parlare su MSN/gtalk perché ti voglio far vedere una cosa e voglio vedere che ne pensi
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.