|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : avril 2004 Messages : 573 ![]() |
Bonjour,
Je voudrais savoir si j'ai bien "compris" le fonctionnement d'un cgi. En gros, il s'agit de permettre à un programme de s'exécuter à distance et de renvoyer une réponse sur le serveur auxquels on a demandé une page html? Le programme s'il peut être compris peut faire n'importe quoi? Je peux dire, par exemple si on a un programme écrit en python, il suffit d'avoir un interpréteur python installée sur la même machine que le serveur et celui ci s'exécutera. Ou alors, il faut que cet interpréteur soit absolument intégré au serveur web, dans ce cas cela marche comment? |
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Inscription : avril 2008 Messages : 33 ![]() |
Oulàlà, y a encore des gens qui s'intéresse au CGI ?
En fait, au début de web, le concept du CGI (Common Gateway Interface) a été mis en place pour répondre à un besoin très simple : construire des pages web à la volé. Pour cela, n'importe quelle langage pouvait faire l'affaire, à partir du moment où il était capable d'écrire du contenu sur la sortie standard. Le principe est le suivant : - Dans le serveur HTTP, on configure le script CGI en indiquant son emplacement sur le serveur et en le mappant à une URL (exemple : http://monsite/cgi/monprogramme.cgi) - Dès que cette URL est appelé, le serveur HTTP soustraite le traitement de la requête au script CGI en lui fournissant les différents paramètre transmis par l'utilisateur. - Le script s'exécute .... fait ce qu'il a faire .... et génère sur sa sortie standard le code HTML à retourner en réponse - le serveur HTTP récupère le contenu de la sortie standard du CGI et la retransmet au client. Mais ce mode de fonctionnement restait assez contraignant: coûteux en ressource, et pouvait causer de gros problème de sécurité et aussi de maintenance .... Aujourd'hui, les langages ont considérablement évolués et de nouvelles technos sont apparues pour répondre de manière plus simple, plus fiable et mieux adapté à la problématique du "web dynamique" (php, asp, j2ee, ruby ......). Les CGI ne sont quasiment plus utilisés, mise à part dans des milieux très précis et pour répondre à un besoin très très spécifique. |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : avril 2004 Messages : 573 ![]() |
D'accord. C'est pour cela par exemple que je ne peux pas exécuter des scripts cgi écrit en python sur n'importe quel serveur. Mais par exemple qu'il existe Zope, et que Zope restreint les fonctions python qui peuvent être appelée.
Donc en fait, on écrit une sorte de programme qui parse le code dans un langage donné, et ensuite si le serveur web décide d'intégrer ce programme, on pourra exécuter nos scripts restreints, c'est bien cela? |
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Inscription : avril 2004 Messages : 573 ![]() |
Si ce que j'ai déduit précédemment est correct, je peux vous poser encore une question? Pourquoi si les cgi sont si dangereux à cause de la sécurité, il est possible grâce au applet java de pouvoir modifier ou créer de nouveaux fichier sur le client ? Avec les applets java, on peut tous ce permettre?
|
|
|
00
|
|
|
#5 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2008 Messages : 33 ![]() |
Citation:
Comment configurer ça ? Mes derniers CGI datent d'y a plus de 10 ans, je suis pas forcément la bonne personne pour te fournir cette info ... et pour y répondre, faudrait savoir sur quel serveur http tu tournes. En ce qui concerne Zope, je ne connaissais pas. Je suis allé jeter un coup d'oeil par curiosité. D'après ce que j'ai vu, le serveur http fourni avec zope est un serveur propriétaire assez light à priori. Il est fort possible qu'il n'autorise pas les cgi .... mais ne connaissant pas cette techno, je ne me permettrai d'être affirmatif. Citation:
Concernant la comparaison que tu fais avec les applets, détrompes toi. La sécurité est relativement bien gérée dans le monde de java. Une applet est exécutée à l'intérieur d'une machine virtuel java, et cette JVM gère l'aspect sécurité. En fait, par défaut les applets n'ont pas l'autorisation d'accéder aux ressources locales. Pour faire une telle chose, il est nécessaire de signer l'applet par le biais d'un certificat de sécurité (et certaines ressources nécessitent la présence d'un fichier contenant la politique de sécurité). Lorsque qu'un internaute accède à une page qui s'apprête à exécuter une applet signée, un message très explicite est fourni à l'utilisateur, l'informant que l'applet est susceptible d'accéder aux ressources de sa machine. A charge de l'utilisateur d'accepter ou non son exécution .... à lui d'avoir confiance ou non .... mais au moins il est obligatoirement informé du risque. |
||
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() Inscription : avril 2004 Messages : 573 ![]() |
Avec Zope, c'est bien ce que je voulais dire. En fait, si jamais ton serveur ne t'autorise pas à exécuter des cgi parce qu'il les considère dangeureux par exemple, il peut quand même permettre d'utiliser Zope. Puisque Zope est un interpreteur de script restreint (pareil que pour les applets, il n'autorise pas à accéder au ressource locale).
Pour les applets, ça marche comment? C'est la même jvm que l'on utilise pour faire tourner des programmes locales? Qu'elle est la différence sinon avec le fait que l'on puisse accéder aux ressource locale seulement si on a signé un certif...? Je veux dire, cela débloque des fonctions? En tout cas merci pour les infos, j'ai lu le problème avec les cgi. Je comprends un peu mieux. |
|
|
00
|
|
|
#7 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2008 Messages : 33 ![]() |
Citation:
Citation:
|
||
|
|
00
|
|
|
#8 |
|
Membre régulier
![]() Inscription : avril 2004 Messages : 573 ![]() |
D'accord, merci je comprends mieux pourquoi java et la sécurité vont plutôt de paire.
Du coup, je crois que j'ai une dernière question. Pourquoi "seulement" java est capable de lancer des applets? Pourquoi par exemple d'autres langages interprétés ne permettent pas la même chose? |
|
|
00
|
|
|
#9 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2008 Messages : 33 ![]() |
Citation:
![]() Citation:
|
||
|
|
00
|
|
|
#10 |
|
Membre régulier
![]() Inscription : avril 2004 Messages : 573 ![]() |
Oui, hi, j'ai oublié flash (c'est parce que c'est pas gratos ^^).
Ben il faut vraiment que je demande au W3C...? C'est vrai pourquoi il y aurait que java? Les interpréteurs pourrait demander à exécuter des programmes si l'interpréteur est bien installé aussi non? Par exemple, j'ai vu que zope a du restreindre les fonctions qui pouvaient être interprétés pour des raisons de sécurité. Mais, il ne permet pour l'instant que des modèle MVC dynamique, pas d'exécuter directement un programme en 2D ou 3D... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com