Vbase server - server http + language script vbase

Soyez le premier à donner votre avis sur cette source.

Vue 5 238 fois - Téléchargée 656 fois

Description

Ce server permet de faire de votre pc un server ouéb , qui hébérge et donne des pages , avec une technologie utilisant Winsock 2 ( la dll ) , il redirige les requettes de connexions vers d'autres ports que le 80 , ce qui fait que le server est toujours en écoute , on pourrais donc le comparer à un server apache puisque la methode est la même .
Il est en version BETA , il fonctionne , cependant il ne prend pas en charge tout le protocole HTTP , et les methodes GET .
On peut lui mettre des scripts en VB , qui est en mélange entre le php et le visual basic , puisque certaines fonctions comme Echo ou GetVars ont été reproduites comme pour le php , cependant le script communique directement avec le server , et est un script EXE compilé .

Vous avez un exemple de script , car pour le moment je n'ai pas finit l'éditeur de script .

Vous verrez donc le code du exe décompilé , avec l'entourage et les fonctions echo ou getvars dans un autre module , cependant le script de base est dans la fonction On_Load , et c'est tout ce que vous aurez à modifier ...

Plus d'explication seront donées dans les prog lui-même et dans les sources .

Source / Exemple :


' Voilà un exemple de script VBASE , c'est le script permettant de naviguer sur les répétoires du server :

Dim IndexOf As String
Dim Path As String
Dim ExtType As String
Path = Server.GetVars("path")
IndexOf = Server.GetVars("IndexOf")
Echo "HTTP/1.0 300 Found" & vbCrLf
Echo "Server: VBASE server BETA/1.45.056" & vbCrLf
Echo "Content-type: application/octet-stream" & vbCrLf
Echo "MIME-Version: 1.0" & vbCrLf
Echo "Connection: Remote-Close" & vbCrLf
Echo vbCrLf
Echo "<html>" & vbCrLf
Echo "<head>" & vbCrLf
Echo "<title>" & IndexOf & "</title>" & vbCrLf
Echo "<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>" & vbCrLf
Echo "</head>" & vbCrLf
Echo "" & vbCrLf
Echo "<body>" & vbCrLf
Echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>" & vbCrLf
Echo "<tr>" & vbCrLf
Echo "    <td><font size='5' face='Arial Black'><strong><img src='../img/opendir.gif'> Index of " & IndexOf & "</strong></font></td>" & vbCrLf
Echo "  </tr>" & vbCrLf
Echo "</table>" & vbCrLf
Echo "<hr width='100%'>" & vbCrLf
Echo "<table width='100%' border='0'>" & vbCrLf
Echo "  <tr>" & vbCrLf
Echo "    <td><img src='../img/dir.gif'></td>" & vbCrLf
Echo "    <td><a href='../'>- Parent -</a></td>" & vbCrLf
Echo "    <td></td>" & vbCrLf
Echo "    <td></td>" & vbCrLf
Echo "  </tr>" & vbCrLf

If Right(Path, 1) <> "\" Then _
Path = Path & "\"
MyName = Dir(Path, vbDirectory)
Do While MyName <> ""
    If MyName <> "." And MyName <> ".." Then
        If (GetAttr(Path & MyName) And vbDirectory) = vbDirectory Then
Echo "  <tr>" & vbCrLf
Echo "    <td><img src='../img/dir.gif'></td>" & vbCrLf
Echo "    <td><a href='" & IndexOf & MyName & "/'>" & MyName & "</a></td>" & vbCrLf
Echo "    <td></td>" & vbCrLf
Echo "    <td></td>" & vbCrLf
Echo " </tr>" & vbCrLf
        Else
ExtType = "    <td><img src='../img/unknown.gif'></td>" & vbCrLf
ext = Format(Right(MyName, 4), "<")
If ext = ".exe" Or ext = ".php" Or ext = ".bat" Then _
ExtType = "    <td><img src='../img/executable.gif'></td>" & vbCrLf
If ext = "html" Or ext = ".htm" Then _
ExtType = "    <td><img src='../img/htmldoc2.gif'></td>" & vbCrLf
If ext = ".bmp" Or ext = ".jpg" Or ext = ".gif" Or ext = ".ttf" Or ext = ".png" Or ext = ".wmf" Or ext = ".ico" Or ext = ".pcx" Then _
ExtType = "    <td><img src='../img/image.gif'></td>" & vbCrLf
If ext = ".dll" Or ext = ".drv" Or ext = ".sys" Or ext = ".ini" Or ext = ".dat" Then _
ExtType = "    <td><img src='../img/system.gif'></td>" & vbCrLf

Echo "  <tr>" & vbCrLf
Echo ExtType
Echo "    <td><a href='" & IndexOf & MyName & "'>" & MyName & "</a></td>" & vbCrLf
Echo "    <td>" & TailleFic(Path & MyName) & "</td>" & vbCrLf
Echo "    <td>" & FileDateTime(Path & MyName) & "</td>" & vbCrLf
Echo " </tr>" & vbCrLf
        End If
    End If
    MyName = Dir    ' Get next entry.
Loop
Echo "</table>" & vbCrLf
Echo "<hr>" & vbCrLf
Echo "<p><font size='1'>VBASE server vBETA - coded by aKhEnAtHoN - all rights reserved" & vbCrLf
Echo "  (c) </font></p>" & vbCrLf
Echo "</body>" & vbCrLf
Echo "</html>" & vbCrLf

Conclusion :


Pour le moment y'à pas trop de bugs , mais vous pouvvez toujour me prévenir de ce qui va pas .

Je cherche comme vous le verez dans le projet de l'aide , des mecs qui peuvent m'aider sur ce projet , donc si vous êtes partant contactez-moi .

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Cyberdevil
Messages postés
483
Date d'inscription
mardi 10 juillet 2001
Statut
Membre
Dernière intervention
12 juillet 2006
-
putain ça à l'air trop fort
je te redis
allez un 9,8/10
cs_aKheNathOn
Messages postés
575
Date d'inscription
dimanche 23 décembre 2001
Statut
Membre
Dernière intervention
23 octobre 2012
-
Pour ceux qui ça interresse , sur ce projet tous les secrets de 'fabrication' se trouvent dans les sources , donc ceux qui peuvent m'aider (je sait je me répétte mais c important) ben qu'ils me contactent ...

J'ai besoin d'un infographiste , un gars qui puisse m'aider pour les designs : Pages HTML , skins du programme , mise en page du programme , logos et animations de présentation .

J'ai besoin d'un gars callé sur le protocole HTTP qui puisse donc m'indiquer les methodes employées par les servers pour par exemple les encodagees md5 . Il devra connaitre la programmation vb , pour qu'il puisse m'aider à faire certains scripts du prog .

J'ai ensuite besoin d'un gars se connaissant en apis windows , moi je débutte au niveau apis , et je n'exploite pas à fond les capacitées de windows, donc il faudrais qu'il m'aide à optimiser le systéme de communication Script/Server .

Pour les prochaines mises à jour :
Je vais faire un editeur de scripts , muni du compilateur vb , il compilera les scripts sans que vous ayez accés aux scripts de base ...
Je vais finir la partie server , je pense que la comprehension des Requettes HTTP se fera à travers des scripts , donc une fois une requette lancées , on choisira un script par défault qui l'exploitera . Cela va donc raprocher le programme du systéme de fonctionnement d'apache , mais l'avantage sera que le server, une fois les fonctions de communication définies , sera statique et juste une mise à jour des scripts fera évoluer le programme .

Sur ce , j'attends votre aide ;)
cs_Vivaskull
Messages postés
9
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
12 juillet 2002
-
Kool
10/10
cs_sub-zero
Messages postés
98
Date d'inscription
mercredi 22 novembre 2000
Statut
Membre
Dernière intervention
12 juillet 2005
-
le pb c kon peut naviguer sur TOUS les répertoires du serveur..... pense à vérifier le facteur gauche du path et de vérifier sa validité. pour le moment ce n'est pas grave s'il ne gère pas le get ms bon gaffe à la sécurité :)
cs_aKheNathOn
Messages postés
575
Date d'inscription
dimanche 23 décembre 2001
Statut
Membre
Dernière intervention
23 octobre 2012
-
Sur les répertoires du server c'est normal , le script est fait pour ça , cependant si tu veux interdire l'accés à un répertoire , vas dans options , puis ajoutte à la liste des urls interdites l'url du répertoire ... pour qu'il te cache son contenu .

Bon je suis d'accord avec toi cependant , il gére mal le protocole http , mais je vais installer une gestion de la comande WWW-Auth , pour des fichiers ou des noms de domaines .

Il est loin d'être finit , mais les bases sont là , il permet de partager des scripts et des pages sans pbs ...

Je suis entrain d'étudier le protocole HTTP 1.0 , et les entêtes mine , donc ça sera géré dans la future version ... en attendant , je vais balancer un tutoriel sur ce que j'aurais compris du protocole HTTP, histoire de partager mes connaissances avec les autre .

Bonne prog à tous , akh

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.