Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    librerie/classi nascoste

    Ciao a tutti!

    Ieri ho sviluppato alcune classi ed una libreria.
    Vorrei permettere a terzi di utilizzarle sul mio server senza che possano però verificarne i dettagli di implementazione (aka nessun accesso in lettura/scrittura sui file con readfile() o similari).

    Ho provato ad impostare le varie configurazioni:
    - include_path
    - safe_mode_include_dir
    - auto_prepend_file

    Per questioni di sicurezza ho attivato sul server il safe_mode ed impostato la open_basedir.

    Configuro correttamente include_path (trova i file), ma essendo impostato open_basedir, non ne permette l'apertura.
    safe_mode_include_dir permette di ignorare le impostazioni di GID e UID sui file ma non bypassa la basedir quindi mi trovo costretto ad aggiungere ad open_basedir la directory con le mie librerie.
    Il guaio è che a questo punto, basta un readfile sul percorso assoluto e i file delle librerie sono consultabili.
    Ho provato auto_prepend_file ma anche questa configurazione non bypassa open_basedir.

    Possibile che non esistano distinzioni sotto il profilo della sicurezza tra le classiche funzioni del filesystem ed include?

    Esiste un modo per permettere agli utenti di includere un file php senza che ne abbiano accesso in lettura?

    Come sempre.. grazie 1000!

    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. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Io propendo per il no, visto che nel momento in cui fai un include il file è non solo letto, ma pure scritto nella pagina stessa.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Già, però l'include valuta il file quindi praticamente è un azione differente dalla lettura tipo fread
    Speravo che magari esistesse un metodo per permettere l'include ma non fread e company nelle cartelle specificate da include_path
    Ma è possibile che, volendo mettere a disposizione una sorta di "interfaccia" di programmazione senza che se ne conoscano i dettagli, ci si ritrovi costretti a fare un estensione per php in C?
    Mi sembra veramente una follia nonchè una forte limitazione in php..

    Se vi viene un idea di qualsiasi tipo sparate pure, io provo, per quanto assurda sia..

    P.S. Adesso mi scarico i sorci di php5 e vedo se riesco a far qualcosa modificando direttamente php
    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.

  4. #4
    include o require sono il male tanto quanto un

    eval(file_get_contents("file.php"));

    e siccome PHP ha una miriade di bugs ... questo:

    Originariamente inviato da IroN@xiD
    P.S. Adesso mi scarico i sorci di php5 e vedo se riesco a far qualcosa modificando direttamente php
    lo eviterei per non perdere tempo dietro tutti gli aggiornamenti e le dipendenze o cambiamenti che questi aggiornamenti implicano.

    Semplicemente permettere agli utenti di includere i propri files php mi sembra l'operazione più azzardata e pericolosa che ci sia ... potresti dirci per quale motivo stai tendando di fare una cosa di questo tipo ?

    Ti ricordo che come ho detto i bugs sono ancora tantissimi e che ameesso tu riesca a configurare tutto a dovere non è detto che tramite un'altra funzione che non centra niente si riesca ad iniettare un exploit o "sniffer di files"
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    @andr3a

    non hai capito.
    Non voglio che utenti esterni possano includere i loro file.
    Voglio che possano includere i miei file senza poterne leggere il contenuto con funzioni tipo fread, readfile, ecc.
    In sostanza voglio mettere a disposizione delle librerie realizzate da me nascondendone l'implementazione.

    Cioè, un utente con il suo spazio sul mio server dovrebbe poter fare include('ironoxide.inc.php') e utilizzare le funzioni ivi contenute, attraverso apposita documentazione, ma senza poter vedere il codice del file.

    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.

  6. #6
    Originariamente inviato da IroN@xiD
    In sostanza voglio mettere a disposizione delle librerie realizzate da me nascondendone l'implementazione.
    ma perchè ?

    metti user e pass o dati sensibili direttamente nelle tue classi ? ... cos'altro ?

    se il problema è il copyright, non fai prima a registrarle queste classi o a mettere una licenza vincolante ? :master:

    scusami ma non ho ancora capito a che serve questo mistero nel source ...
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    Voglio che possano includere i miei file senza poterne leggere il contenuto con funzioni tipo fread, readfile, ecc.In sostanza voglio mettere a disposizione delle librerie realizzate da me nascondendone l'implementazione
    scusa ma i web services esistono per questo... poter creare api pubbliche... usa soap
    ciao

  8. #8
    Originariamente inviato da andr3a
    ma perchè ?

    metti user e pass o dati sensibili direttamente nelle tue classi ? ... cos'altro ?
    Non esistono dati sensibili in quelle classi/librerie.
    Non esistono problemi di sicurezza nel caso vengano incluse da terzi.
    Semplicemente avranno a disposizione alcune astrazioni.

    se il problema è il copyright, non fai prima a registrarle queste classi o a mettere una licenza vincolante ? :master:
    No.
    E comunque non è solo un problema di copyright.
    Se per registrarle intendi usare del bytecode ho già valutato l'ipotesi, ma non si adatta del tutto alle mie esigenze.

    scusami ma non ho ancora capito a che serve questo mistero nel source ...
    Il mistero serve a me perchè così lo voglio
    E visto che è un mistero (come dici tu) non lo vengo certo a dire a te
    Se conosci un metodo per fare quello di cui ho bisogno, così come ho chiesto, ti sarò infinitamente grato.
    Non sono interessato ad altre soluzioni (ricordo che abbiamo già avuto discussioni in situazioni analoghe e non sono interessato a percorrerle nuovamente).
    Se non è possibile ne prenderò atto e cambierò sistema, magari farò alcune modifiche a php e proverò a proporle al team in modo che entrino a far parte di php in future release.
    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.

  9. #9
    Originariamente inviato da matteolandi
    scusa ma i web services esistono per questo... poter creare api pubbliche... usa soap
    ciao
    Se tu riesci ad istanziare una classe o estenderla, ottenendola da un webservice, hai tutto il mio rispetto
    Comunque, un web service non si adatta purtroppo alle mie esigenze anche (e non solo) per motivi di performance.
    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.

  10. #10
    tu non istanzi una classe con i webservices, ma dai la possibilità di usare un metodo della classe, i cui parametri ti vengono passati tramite un preciso messaggio xml.

    Secondo me l'unica strada che puoi seguire è quella di usare un offuscatore di codice, ma non credo che del codice offuscato possa essere interpretato direttamente da php, forse usando dei tools tipo zend studio o roba simile è sicuro, prova informati.
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

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 © 2025 vBulletin Solutions, Inc. All rights reserved.