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

    Intercettare sessioni create da Php

    Salve a tutti,
    Ho una pagina php nella quale se mi identifico viene appeso un valore alla sessione es.
    codice:
    $_SESSION['identificato'] = 1;
    Se sono identificato mi appare un form che fa il post dei dati ad uno script cgi che poi eseguirà delle azioni.
    Vorrei ora inserire un controllo nello script cgi che faccia si che solo se $_SESSION['identificato'] == 1 (cioè se l'utente è autorizzato, quindi ha fatto il login dalla pagina php) esegua le azioni...
    Cosa devo scrivere nello script cgi?
    Premetto che ho già fatto un giro sul web ed ho già letto i thread del forum senza cavare un ragno dal buco...
    Grazie a tutti per eventuali risposte!
    Ciao!
    What is the |\/|atrix?

  2. #2
    up!
    ...poco frequentato il forum cgi
    What is the |\/|atrix?

  3. #3
    Ditemi almeno che non si può fare... così mi metto l'anima in pace!
    What is the |\/|atrix?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non so cosa intendi per "script CGI".
    Io conosco gli script in Perl, e conosco l'interfaccia CGI.

    Se la domanda e`:
    quale e` la sintassi Perl per un if di quel tipo
    una risposta potrebbe essere:
    codice:
    if($_SESSION['identificato'] == 1) {
      # qui le istruzioni da svolgere
    } else {
      # qui la sezione else
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Innanzitutto ti ringrazio per la tua risposta!
    Lo avevo già provato ma niente...
    Ti posto esattamente un esempio reale di quello che devo fare:
    Pagina login.php
    codice:
    <?
    session_start();
    $_SESSION["login"] = 1;
    
    echo "prova";
    
    if($_SESSION["login"] == 1){
    
    	echo "autorizzato";
    
    }else{
    
    	echo "non autorizzato";
    
    }
    ?>
    Pagina test.cgi
    codice:
    #!/usr/bin/perl -w
    
    print "Content-type: text/html\n\n";
      
    if($_SESSION["login"] == 1){
    
    	print "autorizzato";
    
    }else{
    
    	print "non autorizzato";
    
    }
    Il risultato è che nella pagina php mi stampa autorizzato, mentre quando clicco su "prova" la pagina cgi mi dice che non sono autorizzato...
    Avrei bisogno di capire nella pagina cgi se sono stato autorizzato oppure no.
    Grazie ancora per l'interessamento
    What is the |\/|atrix?

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Mi sa che devi chiarire meglio il contorno.

    Nella stessa sessione usi sia PHP che Perl? (se posso chiedere: Perche?)
    Riesci da Perl ad accedere alla sessione settata da PHP? O e` questa la domanda?
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Il problema è che PHP agisce come un tread di apache, mentre Perl come processo esterno, quindi sono tendenzialmente difficili da mettere in comunicazione, salvo che non si usino strumenti appositi come variabili d'ambiente, pipe e simili.

    Io proverei a dare un occhiata alla famiglia di librerie "Apache::Session" e simili reperibili su http://search.cpan.org
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  8. #8
    Originariamente inviato da shishii
    Il problema è che PHP agisce come un tread di apache, mentre Perl come processo esterno, quindi sono tendenzialmente difficili da mettere in comunicazione, salvo che non si usino strumenti appositi come variabili d'ambiente, pipe e simili.

    Io proverei a dare un occhiata alla famiglia di librerie "Apache::Session" e simili reperibili su http://search.cpan.org
    Ti ringrazio per l'attenzione!
    Il sistema delle liberie lo avevo già provato... il problema è che non posso installare nulla sullo spazio...
    C'è un modo per usare le librerie senza installarle, non so, importandole ad esempio come si fa in java?
    What is the |\/|atrix?

  9. #9
    è possibile istallare queste librerie anche da utente ma alle seguenti condizioni:

    1- avere accesso alla shell (telnet, SSH)
    2- potere eseguire make
    3- potere eseguire gcc (il compilatore)

    a queste condizioni puoi compilare ed istallare le librerire nel tuo spazio. Ammettendo che sia:
    /home/nome

    crei la directory lib

    poi digiti:

    > perl Makefile.PL --prefix=/home/nome/dir
    > make
    > make test
    > make install

    dopodichè nelgi script che devono usare quelle librerie inserisci all'inizio :

    #!/usr/bin/perl

    use lib "/home/nome/lib";
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  10. #10
    Niente accesso shell... nessuna possibilità di eseguire make o gcc... qualche altra idea?
    Quindi non è possibile importarle senza installarle?
    Grazie ancora per l'interessamento!
    What is the |\/|atrix?

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