Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 34
  1. #1

    Script C ed errore server

    ciao,
    sono su server linux ed ho provato ad eseguire uno script che effettua la moltiplicazione. il sorgente è questo:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    int main(void)
    {
    char *data;
    long m,n;
    printf("%s%c%c\n",
    "Content-Type:text/html;charset=iso-8859-1",13,10);
    printf("<TITLE>Multiplication results</TITLE>\n");
    printf("<H3>Multiplication results</H3>\n");
    data = getenv("QUERY_STRING");
    if(data == NULL)
      printf("
    
    Error! Error in passing data from form to script.");
    else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2)
      printf("
    
    Error! Invalid data. Data must be numeric.");
    else
      printf("
    
    The product of %ld and %ld is %ld.",m,n,m*n);
    return 0;
    }
    l'ho compilato con il gcc su linux e l'ho rinominato moltiplicazione.cgi, l'ho uppato sul server ed ho provato a richiamarlo da un forum di una pagina html, solo che mi da errore interno del server. Ho pensato che forse, dato che aruba gestisce di standard solo la libreria stdio.h, dato che nell'esempio c'è anche la stdlib.h, il server non riesce a gestirla.
    E' possibile ?
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  2. #2
    cioè io ho fatto così:

    1. scritto il file in C
    2. compilato sul gcc così: #gcc -o file.cgi file.c
    3. uppato nella cartella cgi-bin del server

    solo che poi non funge...

    sul mio server c'è scritto:

    codice:
    - C: librerie standard (stdio.h, math.h, zlib.h ) gdbm, mysql, pgsql. (i cgi in C devono essere gia' compilati e quindi trasferiti
    nel server in forma binaria). Se mancano librerie che l'utente utilizza basta compilare il binario staticamente per GNU/Linux con 
    architettura i386.
    ho pensato che forse il problema è che uso la libreria stdlib.h ? anche se non credo, anche perchè senza quella non si fa niente !
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  3. #3
    Invece penso che quello sia un problema... prova a fare come dicono, cioè a compilare staticamente il tuo file, altrimenti poi l'eseguibile cerca la libreria stdlib e non la trova.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  4. #4
    mm ok, provo così...

    però, come devo fare a compilare staticamente il file ?
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  5. #5
    mm guarda, ho fatto una prova in un altro modo.
    Ho scritto questo file:

    codice:
    #include <stdio.h>
    
    int main(void){
    
    printf("<font face=verdana size=2>Ciao</font>");
    
    return 0;
    
    }
    l'ho compilato con il gcc e l'ho rinominato cgi uppandolo poi nella cartella cgi-bin. In teoria credo che richiamandolo http://lnx.mangaitalia.net/cgi-bin/script.cgi dovrebbe visualizzare la scritta Ciao, invece mi da ancora errore interno.

    Ora non riesco a capire bene il problema, perchè il server supportadi suo la libreria stdio.h...

    elenco di seguito le caratteristiche del server:

    codice:
    Linguaggi 
    
    - PHP 4.3.x 
    moduli per: MySQL , gettext, gestione immagini jpeg e png, GDlib (Graphic Development) versioni 1 e 2, Netpbm, caratteri FreeType, crittografia 
    con Mcrypt. Compatibilita' all'indietro per le variabili globali (register_global = on), estensioni di file abilitate: php, php3, phtml
    - PERL5.6.1
    moduli installati: DBI, DBD::mysql, DBD::Pg, DBD::CVS, LWP, CGI, Crypt, Digest, Net ed altri. Estensioni abilitate: qualunque, è sufficiente abbiano i giusti permessi di esecuzione
    - SSI: sono abilitati, con limitazione sulla direttiva "exec cmd" per motivi di sicurezza, al posto della quale è possibile utilizzare
     Estensioni abilitate: shtml
    - RUBY-1.6.6: moduli per interfacciamento mysql e postgresql
    - PYTHON-2.0.1: moduli per mysql e postgresql, stesso discorso del perl per installarne di nuovi.
    - TCL-8.3.3: nessun modulo aggiuntivo
    - BASH-2.0.5: con comandi di comune utilizzo: sed, awk, grep, cat, ls, sleep ed altri
     - C: librerie standard (stdio.h, math.h, zlib.h ) gdbm, mysql, pgsql. (i cgi in C devono essere gia' compilati e quindi trasferiti
    nel server in forma binaria). Se mancano librerie che l'utente utilizza basta compilare il binario staticamente per GNU/Linux con 
    architettura i386. 
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  6. #6
    Ciao,

    dovrebbe essere sufficiente scrivere:

    gcc -o nome -static nome.c
    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 rocco.g
    mm guarda, ho fatto una prova in un altro modo.
    Ho scritto questo file:

    codice:
    #include <stdio.h>
    
    int main(void){
    
    printf("<font face=verdana size=2>Ciao</font>");
    
    return 0;
    
    }
    l'ho compilato con il gcc e l'ho rinominato cgi uppandolo poi nella cartella cgi-bin. In teoria credo che richiamandolo http://lnx.mangaitalia.net/cgi-bin/script.cgi dovrebbe visualizzare la scritta Ciao, invece mi da ancora errore interno.

    [/CODE]
    in questo caso l'errore è originato dal fatto che il CGI non restituisce un header adatto, infatti manca "Content-type... ecc"
    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
    si però non funziona nemmeno se uso la sola libreria stdio.h...
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  9. #9
    ok riprovo inserendo l'header giusto... e ti faccio sapere...
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  10. #10
    allora ho ricompilato il file scritto così:

    codice:
    #include <stdio.h>
    
    int main(void){
    printf("%s%c%c\n",
    "Content-Type:text/html;charset=iso-8859-1",13,10);
    printf("<font face=verdana size=2>Ciao</font>");
    
    return 0;
    
    }
    il link è sempre lo stesso: http://lnx.mangaitalia.net/cgi-bin/script.cgi ed anche l'errore è sempre lo stesso :-)

    cioè non sembra cambiare... ma non è che sbaglio qualcosa io ? mi mandi se ce l'hai disponibile uno script cgi scritto in c funzionante di sicuro ? o magari se provi il file script.cgi che ho fatto io... lo trovi qui: download file cgi
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

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.