• STATISTIQUES
  • Il y a eu un total de 2 membres et 13181 visiteurs sur le site dans les dernières 24h pour un total de 13 183 personnes!


    Membres: 2 433
    Discussions: 3 585
    Messages: 32 832
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] hax.tor
    50 level de challenges mélangés
    Challenges
    [FR] Infomirmo
    Challenge présenté sous la forme de 6 niveaux de difficultés diverses et variées avec chacun plusieurs chall...
    Challenges
    [EN] xda-developers
    Très bon site pour les gros bidouilleurs de smartphone de windows à androïd et de Apple jusqu'...
    Phreaking
    [FR] PHP Débutant
    Apprendre le PHP par l'exemple, facilement et simplement. Réservé d'abord aux débutants....
    Programmation
    [FR] Root-Me
    Notre équipe se base sur un constat : à l'heure actuelle ou l'information tend à devenir...
    Hacking
    [FR] Asp-php
    Tutoriaux sur ASP, PHP, ASP.net, XML, SQL, Javascript, HTML, VML - Scripts et ressources pour webmasters - Forums d&#...
    Programmation
    [EN] Rosecode
    Programming: 36, Math: 29, Probability: 5, Sequence: 7, Crypto: 4, Brainf**k: 13, TimeRace: 4, Hack: 9
    Challenges

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[C] Un mini-serveur HTTP
19-04-2013, 00h25
Message : #1
-Moloch-
Non-enregistré



 
[C] Un mini-serveur HTTP
positive (1) negative (0) Répondre
19-04-2013, 07h57 (Modification du message : 19-04-2013, 12h31 par Sh4dows.)
Message : #2
Sh4dows Hors ligne
Tweetos
*



Messages : 293
Sujets : 5
Points: 49
Inscription : Dec 2012
RE: [C] Un mini-serveur HTTP
Il manque juste un peu tous les headers ...

Sinon il est de toi le code ? Si cela n'est pas le cas, cite tes sources Smile
Après on voit plein de warnings/errors à la compilation, essaye de poster des choses propres !!

Ensuite tu la déclares quand la variable clean_filename ? :
Code C :

// Ligne 128
 clean_filename = malloc(filename_len+1);
    if (clean_filename == NULL) {
 


Concernant les erreurs, en ajoutant ça il y en a un peu moins :
Code C :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <time.h>
#include <sys/stat.h>
#include <fcntl.h>
 


Edit : Même avec les headers faut bien sur corriger les erreurs restantes :'(
Edit2 :
Code :
serv_http.c: In function ‘proc_get_request’:
serv_http.c:150:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘__off_t’ [-Wformat]
serv_http.c:156:9: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘__off_t’ [-Wformat]
serv_http.c: In function ‘main’:
serv_http.c:183:22: error: storage size of ‘l’ isn’t known
serv_http.c:183:25: error: storage size of ‘a’ isn’t known
serv_http.c:198:3: error: ‘l_sin_addr’ undeclared (first use in this function)
serv_http.c:198:3: note: each undeclared identifier is reported only once for each function it appears in
serv_http.c:198:29: error: ‘INADDR_ANY’ undeclared (first use in this function)
Faites ce que je dis et non ce que je fais !
+1 (0) -1 (0) Répondre
19-04-2013, 10h22
Message : #3
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
RE: [C] Un mini-serveur HTTP
dans tous les cas c'est un excellent exercice pour ceux qui veulent s'entrainer à coder les sockets et qui ne savent pas quoi faire
à noter qu'ici il utilise des sockets bloquantes (par défaut) et du fork(), ce qui est bien mais pas top, parfait pour les débutants en C
+1 (0) -1 (0) Répondre
19-04-2013, 12h26 (Modification du message : 19-04-2013, 12h28 par notfound.)
Message : #4
notfound Hors ligne
#!/usr/bin/env bash
*



Messages : 687
Sujets : 47
Points: 272
Inscription : Sep 2012
RE: [C] Un mini-serveur HTTP
Comme l'a dit Sh4d0ws, c'est mieux de poster un code fonctionnel, et pourquoi pas mettre à la fin un exemple de fonctionnement. Car dans ce cas, si on veut essayer ton code, il faut tout d'abord trouver les headers (merci Shadows) puis corriger les nombreuses erreurs (23).

Tu l'as testé ton code ?
+1 (0) -1 (0) Répondre
19-04-2013, 12h38
Message : #5
Machin Hors ligne
Membre actif
*



Messages : 60
Sujets : 1
Points: 16
Inscription : Apr 2013
RE: [C] Un mini-serveur HTTP
Si je voulais troller je dirais qu'en Python, en 2 lignes :

Code :
import SimpleHTTPServer
SimpleHTTPServer.test()

On a un serveur http sur le port 8000 par defaut, partageant tous les fichiers du repertoires courant. Si un index.html est présent, c'est lui qui fait office de page par défaut, sinon il va lister les fichiers.

De là à conclure que Python est meilleur que le C ... :-°

Plus serieusement, je me sert regulièrement de ça sous cette forme :
Code :
python -c 'import SimpleHTTPServer;SimpleHTTPServer.test()'
ça permet, en une ligne de code, de partager temporairement un dossier et des fichiers. C'est assez pratique quand on doit partager un fichier present sur son PC avec quelqu'un, en local ou pas d'ailleurs, sans s'embeter a creer des dossier partagés.
+1 (1) -1 (0) Répondre
19-04-2013, 12h39
Message : #6
InstinctHack Hors ligne
Posting Freak
*



Messages : 1,366
Sujets : 184
Points: 299
Inscription : Dec 2011
RE: [C] Un mini-serveur HTTP
ça pue comme truc, c'est comme si on résumer linux à "load kernel", en général les gens ici veulent savoir ce qu'il as sous le capot :p
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
+1 (0) -1 (0) Répondre
19-04-2013, 12h40
Message : #7
ark Hors ligne
Psyckomodo!
*****



Messages : 1,033
Sujets : 48
Points: 317
Inscription : Sep 2011
RE: [C] Un mini-serveur HTTP
Au moins si ca compile pas du premier coup ca vous éviteras de lancer le programme sans avoir vérifié ce qu'il fais...
+1 (2) -1 (0) Répondre
19-04-2013, 12h41
Message : #8
Sh4dows Hors ligne
Tweetos
*



Messages : 293
Sujets : 5
Points: 49
Inscription : Dec 2012
RE: [C] Un mini-serveur HTTP
Faites ce que je dis et non ce que je fais !
+1 (1) -1 (0) Répondre
19-04-2013, 12h42
Message : #9
Machin Hors ligne
Membre actif
*



Messages : 60
Sujets : 1
Points: 16
Inscription : Apr 2013
RE: [C] Un mini-serveur HTTP
(19-04-2013, 12h39)InstinctHack a écrit : ça pue comme truc, c'est comme si on résumer linux à "load kernel", en général les gens ici veulent savoir ce qu'il as sous le capot :p


Non mais je sais, c'etait pour troller le C à la base. Mais je pense que la fin peut être utile. ça permet de facilement partager des fichiers sans vraiment s'embêter en une ligne.

Apres si tu veux voir ce qu'il y a sous le capot, tu as accès aux sources Wink
+1 (0) -1 (0) Répondre
19-04-2013, 13h56
Message : #10
notfound Hors ligne
#!/usr/bin/env bash
*



Messages : 687
Sujets : 47
Points: 272
Inscription : Sep 2012
RE: [C] Un mini-serveur HTTP
(19-04-2013, 12h40)Ark a écrit : Au moins si ca compile pas du premier coup ca vous éviteras de lancer le programme sans avoir vérifié ce qu'il fais...

Je test :
Le résultat est-il intéressant ?

- Oui, alors je regarde le code source en détail avec amour

- Non, rm lefichier
+1 (0) -1 (0) Répondre
19-04-2013, 14h16
Message : #11
ark Hors ligne
Psyckomodo!
*****



Messages : 1,033
Sujets : 48
Points: 317
Inscription : Sep 2011
RE: [C] Un mini-serveur HTTP
(19-04-2013, 13h56)notfound a écrit :
(19-04-2013, 12h40)Ark a écrit : Au moins si ca compile pas du premier coup ca vous éviteras de lancer le programme sans avoir vérifié ce qu'il fais...

Je test :
Le résultat est-il intéressant ?

- Oui, alors je regarde le code source en détail avec amour

- Non, rm lefichier

Attends, je te la refais:

Je test :
Boarf, ca marche pas ce truc... <-- Ouais, mais tu viens de te faire backdoorer.

Juste pour dire: faites attention a ce que vous lancez sur vos systèmes les gens. Meme si vous pensez que ca viens d'une source fiable.
+1 (1) -1 (0) Répondre
19-04-2013, 14h22 (Modification du message : 19-04-2013, 14h31 par notfound.)
Message : #12
notfound Hors ligne
#!/usr/bin/env bash
*



Messages : 687
Sujets : 47
Points: 272
Inscription : Sep 2012
RE: [C] Un mini-serveur HTTP
Backdoorer -> Mon IDS -> Alert connexion inconnue -> Action

Mais, je suis d'accord avec toi, faut pas faire confiance à n'importe qui.
+1 (0) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [C] serveur irc (non terminé) fr0g 0 704 21-05-2014, 22h27
Dernier message: fr0g
  [C] Socket Client-Serveur -> Write() + Read() sakiir 7 1,981 18-03-2013, 07h19
Dernier message: sakiir
  [C++] Requéte http oxame 3 1,190 02-11-2012, 20h28
Dernier message: oxame
  [C] Programme Serveur/Client Creepy_p0ney 1 950 13-10-2012, 14h13
Dernier message: Creepy_p0ney
  [C] Serveur multi-clients Creepy_p0ney 12 2,477 09-10-2012, 19h28
Dernier message: Creepy_p0ney
  [C++] LibSimpleWeb, des requetes HTTP simples Dobry 0 858 29-03-2012, 14h56
Dernier message: Dobry

Atteindre :


Utilisateur(s) parcourant ce sujet : 6 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut