Visualizzazione risultati 1 fino 20 di 20

Discussione: Far comunicare due file PHP in maniera "protetta"

  1. #1
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito Far comunicare due file PHP in maniera "protetta"

    Ehilà ciao a tutti,
    come da titolo avrete sicuramente intuito che voglio fare in modo che due file PHP comunichino tra loro in maniera "sicura" cioè...giungendo subito a l dunque e per farvi capire meglio ciò che ho intenzione di fare vi espongo la mia idea:

    Ho due spazi su AlterVista A (miki92) e B (non ve lo dico ancora ) sullo spazio A ho un database di classe 5 attivo (che naturalmente utilizzo per il sito) e più di 50000 AlterCents mentre sullo spazio B ho gli AlterCents che mi vengono dati all'iscrizione ed un database di classe 1 di cui non mi posso accontentare.

    Dal momento che non posso collegarmi al database dello spazio A devo creare, come affermatomi, un file PHP che estragga i dati e li invii allo spazio B dove verrano ricevuti e mostrati a video...

    Ora qui scatta il problema: estraendo e mostrando i dati chiunque potrebbe sfruttare questo bridge per manovrare il mio database quindi, per la sicurezza del sito e del mio spazio, avrei bisogno di:

    1. Fare in modo che A esegua un controllo tramite user e password così da verificare se eseguire o meno le query inviategli.
    2. Quando A estrae i dati li cripti in maniera che nessuno riesca a leggerli così (successivamente sullo spazio B verranno decriptati).

    Per il secondo punto non ci sono problemi, basta che creo una codifica o qualche cosa del genere (es a = ab65, A = ab66, b = fds69, B fds70...) ma per il primo punto (il controllo di autorizzazione) non saprei proprio come fare...mi suggerite qualche cosa voi?
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #2
    Guest

    Predefinito

    Ma tu vuoi che il controllo sia fatto da A o da B?


    Ciao!

  3. #3
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Essendo nello spazio A il file che comunica con il database penso che dovrebbe essere eseguito qui il controllo.
    Apprezzi l'aiuto? Offrimi un caffè!

  4. #4
    Guest

    Predefinito

    Potresti controllare che le "query" provengano dal sito B e in quest'ultimo creare un modulo di login che ti abilita alle operazioni.


    Ciao!!

  5. #5
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Questo mi sembra troppo banale:

    Codice PHP:
    if(eregi("b.altervista.org",$_SERVER['HTTP_REFERER')){
    /* Esegue le query */
    }else{
    /* Non esegue le query */
    }
    Sapresti consigliarmi qualche cosa di più efficace? Io stavo pensando (oltre al controllo sul referer) un controllo su cookie o sessioni oppure su qualche variabile globale...che ne pensi?
    Apprezzi l'aiuto? Offrimi un caffè!

  6. #6
    Guest

    Predefinito

    Sì, quei controlli li puoi fare solo dal sito in cui setti le stesse sessioni o cookie... infatti lo dovrai fare sul sito B.
    Potresti passare anche una stringa, a mo di password, tra i due siti, magari hasharla e controllarne la correttezza per poi eseguire le funzioni volute.


    Ciao!

  7. #7
    Guest

    Predefinito

    Io accoderei alla richiesta una "parola magica"; ti faccio un esempio (un pò stupido):
    vuoi richiedere la pagina a.php?query=una-query&magicword=2xxxx4

    magicword è uguale a 2qualcosaperconfondere4; 4 è il doppio di 2.

    Esegui lo script contenuto in a.php viene eseguito solo e solo se la precedente condizione è vera.

    Ovviamente di volta in volta la "parola magica" cambierà (secondo tuoi criteri).
    Puoi basarti sulla data attuale o su quello che più ti viene in mente.

    Ciao

  8. #8
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Citazione Originalmente inviato da debug Visualizza messaggio
    Sì, quei controlli li puoi fare solo dal sito in cui setti le stesse sessioni o cookie... infatti lo dovrai fare sul sito B.
    Potresti passare anche una stringa, a mo di password, tra i due siti, magari hasharla e controllarne la correttezza per poi eseguire le funzioni volute.


    Ciao!
    Si ed utilizzando cURL posso anche fare in modo da inviare l'id della sessione in modo criptato.

    Citazione Originalmente inviato da giuseppeiemma Visualizza messaggio
    Io accoderei alla richiesta una "parola magica"; ti faccio un esempio (un pò stupido):
    vuoi richiedere la pagina a.php?query=una-query&magicword=2xxxx4

    magicword è uguale a 2qualcosaperconfondere4; 4 è il doppio di 2.

    Esegui lo script contenuto in a.php viene eseguito solo e solo se la precedente condizione è vera.

    Ovviamente di volta in volta la "parola magica" cambierà (secondo tuoi criteri).
    Puoi basarti sulla data attuale o su quello che più ti viene in mente.

    Ciao
    Ottimo suggerimento sicuramente verrà utilizzato

    ________________________

    Ora se non vado OT posso chiedere come reversare questa cosa su B:

    Codice PHP:
    if(controlli...){

    $a = array("a"=>"ab12","A"=>"ab13","b"=>"sd56","B"=>"sd57",...);

    $testo = "abBAaBAB";

    echo
    strtr($testo,$a); // Stamperà "ab12sd56sd57ab13ab12sd57ab13sd57"
    Apprezzi l'aiuto? Offrimi un caffè!

  9. #9
    Guest

    Predefinito

    Dividi il testo in gruppi di 4 con substr() e poi traduci i vai gruppi nelle lettere con qualcosa del genere:
    Codice PHP:
    <?php
    //l'array $a è già dichiarato
    $ks = array_keys($a);
    $lettera = $ks[array_search($gruppo, $a)];
    ?>

  10. #10
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Ma, Miki, ancora con questa idea di sfruttare le risorse di un account per un altro account? Lo sai che sei al limite del regolamento con queste soluzioni, no?


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  11. #11
    Guest

    Predefinito

    Mentre il castigatore folle (ah no, quello sono io) ci vede irregolarità, io ci vedo un buon esercizio!


    Ciaoooo!!!

  12. #12
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Citazione Originalmente inviato da saitfainder Visualizza messaggio
    Ma, Miki, ancora con questa idea di sfruttare le risorse di un account per un altro account? Lo sai che sei al limite del regolamento con queste soluzioni, no?
    Perchè scusa? Io ho deciso di utilizzare A come blog e B come sito...il contenuto attuale di A verrà spostato in B...A e B saranno due siti differenti, solo che B per il database si appoggia ad A...io non ci vedo nulla di male...sbaglio?
    Apprezzi l'aiuto? Offrimi un caffè!

  13. #13
    L'avatar di myw
    myw
    myw non è connesso Utente giovane
    Data registrazione
    08-02-2009
    Messaggi
    45

    Predefinito

    Usare il mod_rewrite?

    Molto più semplice ed eviti di complicarti la vita così.

    (Ps: io ho comprato 5200 AC e pensavo di averne tanti. Come hai fatto ad arrivare a 50 000? Curiosità :P)

  14. #14
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Donazioni dei miei utenti tramite codice 899... comunque mi fai un esempio di come potrei sfruttare il mod_rewrite per il mio scopo?
    Apprezzi l'aiuto? Offrimi un caffè!

  15. #15
    L'avatar di myw
    myw
    myw non è connesso Utente giovane
    Data registrazione
    08-02-2009
    Messaggi
    45

    Predefinito

    Nella root di B:

    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^sitoB.altervista.org
    RewriteRule ^(.*)$ http://sitoA.altervista.org/dir$1 [L,R=301]
    Oppure:

    O:

    Options +FollowSymLinks
    RewriteEngine on
    RewriteRule (.*) http://sitoA.altervista.org/dir/$1 [R=301,L]

  16. #16
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Scusa ma proprio non ho capito a che mi può servire il codice che mi hai postato...io ho bisogno di proteggere i dati che si scambiano...

    EDIT: Pensandoci bene hai ragione, potrei fare in modo che se la richiesta non venga da parte di B mostri tutt'altro...ma questo posso farlo anche solo con PHP...
    Apprezzi l'aiuto? Offrimi un caffè!

  17. #17
    L'avatar di myw
    myw
    myw non è connesso Utente giovane
    Data registrazione
    08-02-2009
    Messaggi
    45

    Predefinito

    Tu vuoi usare dal sito B il db di A.

    Con l'htaccess rimandi i visitatori che vanno su B in una cartella di A tenendolo nascosto, quindi non serve tutto il giro che stai facendo per accedere al DB.

  18. #18
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Invece si, perchè B deve stare in B ed A in A...come dici tu andrei sicuramente contro il regolamento di AlterVista!
    Apprezzi l'aiuto? Offrimi un caffè!

  19. #19
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Ma visto che hai tutti quegli AC perchè non aumenti spazio e database e fai tutto su un unico sito (magari utilizzando subdomain per distinguere home e blog o altro)? Personalmente la vedo una cosa molto più semplice e logica.

  20. #20
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Si ci avevo pensato, ma ho le mie ragioni
    Apprezzi l'aiuto? Offrimi un caffè!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •