[C] C kroz cgi-bin
Postano: 24 vel 2013, 15:24
Prvo nam je potreban C program citaj.c koji cemo posle kompajlirati i jedna datoteka data.txt(koj se nece nalaziti u cgi-bin, vec direktorijum iza, u ovom slucaju u doc root ../data/data.txt --- tacnije: /var/www/data/data.txt)
data.txt
data.c
A sad ga iskompajlirajmo:
data.c je vas izvorni kod i nije vam potreban jer posle kompajliranja ostaje izvrsni program data.cgi
Promenimo dozvole u izvrsne i promenimo ownership:
Na lokaciji:
http://localhost/cgi-bin/data.cgi
se treba iscitati sadrzaj data.txt fajla !!!
data.txt
Kod: Označi sve
tekst koj treba da se iscita
drugi red teksta
treci red tekstaKod: Označi sve
#include <stdio.h>
#include <stdlib.h>
#define DATAFILE "../data/data.txt"
int main(void)
{
FILE *f = fopen(DATAFILE,"r");
int ch;
if(f == NULL) {
printf("%s%c%c\n",
"Content-Type:text/html;charset=utf-8",13,10);
printf("<title>nezgodno</title>\n");
printf("<p><em>nisam u mogucnosti da otvorim data fajl, sorry!</em></p>"); }
else {
printf("%s%c%c\n",
"Content-Type:text/plain;charset=utf-8",13,10);
while((ch=getc(f)) != EOF)
putchar(ch);
fclose(f); }
return 0;
}Kod: Označi sve
gcc data.c -o data.cgiPromenimo dozvole u izvrsne i promenimo ownership:
Kod: Označi sve
chmod a+x /var/www/cgi-bin/data.cgi
chown -R www-data:www-data /var/www/cgi-bin/data.cgihttp://localhost/cgi-bin/data.cgi
se treba iscitati sadrzaj data.txt fajla !!!