Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Script Cgi In C

  1. #1

    Script Cgi In C

    Volevo porvi un paio di domande sulla crazione di cgi in C:

    1. I Cgi sono interpretati (come ho letto nelle faq) e quindi se volessi creare un Cgi in C come dovrei fare? dovrei scrivere un semplice sorgente in C e salvarlo in .cgi? o come?

    2. Per acuisire dati da un form ho letto che con il metodo post il nostro cgi le acquisisce come standard input mentre con il metodo get come variabili d'ambiente. Precisamente con il linguaggio C come li posso trattare gli input? gli acquisisco da un form e poi? esiste una variabile predefinita dal C in cui vengono memorizzati?

    Vi ringrazio in anticipo,
    Guylmaster.

  2. #2

    Re: Script Cgi In C

    Originariamente inviato da guylmaster
    Volevo porvi un paio di domande sulla crazione di cgi in C:

    1. I Cgi sono interpretati (come ho letto nelle faq) e quindi se volessi creare un Cgi in C come dovrei fare? dovrei scrivere un semplice sorgente in C e salvarlo in .cgi? o come?
    Non è così. CGI è un protocollo creato per fare colloquiare un webserver con qualunque applicativo, per cui i CGI possono essere interpretati o compilati come nel caso di C.
    Per quanto riguarda l'estensione del file da usare dipende dalle impostazioni del sistema e del webserver. In genere .cgi va bene, ma come detto dipende.

    2. Per acuisire dati da un form ho letto che con il metodo post il nostro cgi le acquisisce come standard input mentre con il metodo get come variabili d'ambiente. Precisamente con il linguaggio C come li posso trattare gli input? gli acquisisco da un form e poi? esiste una variabile predefinita dal C in cui vengono memorizzati?

    Vi ringrazio in anticipo,
    Guylmaster.
    La variabile d'ambiente predefinita dal protocollo CGI è 'QUERY_STRING'.
    Per cui dipende da come in C si acquisiscono le variabili d'ambiente e lo standard input. E questo non è un problema CGI ma del C.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  3. #3

    Re: Re: Script Cgi In C

    Originariamente inviato da shishii
    Non è così. CGI è un protocollo creato per fare colloquiare un webserver con qualunque applicativo, per cui i CGI possono essere interpretati o compilati come nel caso di C.
    Per quanto riguarda l'estensione del file da usare dipende dalle impostazioni del sistema e del webserver. In genere .cgi va bene, ma come detto dipende.


    La variabile d'ambiente predefinita dal protocollo CGI è 'QUERY_STRING'.
    Per cui dipende da come in C si acquisiscono le variabili d'ambiente e lo standard input. E questo non è un problema CGI ma del C.
    Per cui detto in parole povere io ho un programma C compilato, quindi un eseguibile, lo metto nella cartella Cgi e posso colloquiarci con una pagina web contenente un form semplicemente leggendo come il C acquisice le variabili d'ambiente?

    Un altra cosa, semplicemente installando il web server (apache ad esempio) i cgi sono già supportati? oppure bisogna installare qualche pacchetto?

  4. #4

    Re: Re: Re: Script Cgi In C

    Originariamente inviato da guylmaster
    Per cui detto in parole povere io ho un programma C compilato, quindi un eseguibile, lo metto nella cartella Cgi e posso colloquiarci con una pagina web contenente un form semplicemente leggendo come il C acquisice le variabili d'ambiente?

    Un altra cosa, semplicemente installando il web server (apache ad esempio) i cgi sono già supportati? oppure bisogna installare qualche pacchetto?
    Apache in genere è già configurato per supportare CGI, il dove mettere questi applicativi e che estensioni dargli dipendono dalla impostazioni date in httpd.conf
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  5. #5

    Re: Re: Re: Re: Script Cgi In C

    Originariamente inviato da shishii
    Apache in genere è già configurato per supportare CGI, il dove mettere questi applicativi e che estensioni dargli dipendono dalla impostazioni date in httpd.conf

    Ho installato easy php e nell'httpd.conf ho riscontrato le seguenti configurazioni

    codice:
    # ScriptAlias: This controls which directories contain server scripts.
        # ScriptAliases are essentially the same as Aliases, except that
        # documents in the realname directory are treated as applications and
        # run by the server when requested rather than as documents sent to the client.
        # The same rules about trailing "/" apply to ScriptAlias directives as to
        # Alias.
        #
        ScriptAlias /cgi-bin/ "C:/Programmi/EasyPHP1-8/cgi-bin/"
    
        #
        # "C:/Programmi/EasyPHP1-8/apache/cgi-bin" should be changed to whatever your ScriptAliased
        # CGI directory exists, if you have that configured.
        #
        <Directory "C:/Programmi/EasyPHP1-8/cgi-bin">
            AllowOverride None
            Options None
            Order allow,deny
            Allow from all
        </Directory>
    
    </IfModule>
    # End of aliases.
    Controllando però mi sono accorto che nella cartella di Easy php non c'è nessuna cartella chiamata "cgi-bin". Devo desumere che non supporta i Cgi?

    Eppure all'inizio dell'httpd.conf è presente la seguente linea

    codice:
    AddModule mod_cgi.c
    La cartella a cui fa riferimento tra l'altro non è presente nel "www" ma propio nella cartella in cui invece è installato il programma!

    Come mi devo comportare? devo provare semplicemente a creare una cartella ? ma se non è nel www come la raggiungo?

    Se invece non è installato si può scaricare da qualche parte il semplice modulo Cgi ed installarlo?

    Grazie in anticipo,
    Guylmaster.

  6. #6
    crea tu la cgi-bin nella posizione indicata e tramite il sistema di gestione permessi di windows dagli i permessi di esecuzione.

    La raggiunge anche se non è in www grazie all'alias.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  7. #7
    Originariamente inviato da shishii
    crea tu la cgi-bin nella posizione indicata e tramite il sistema di gestione permessi di windows dagli i permessi di esecuzione.

    La raggiunge anche se non è in www grazie all'alias.
    Mi sfugge cosa intendi per i permessi di esecuzione. Una cartella appena crata non dovrebbe avere nessuna restrizione di permessi o sbaglio?

  8. #8
    Non lo so... sono circa 5 anni che non uso più windows, quindi verifica.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

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.