Mkdir / usr / src / temp
CD / USR / SRC / TEMP
gzip ´d stable.tar.gzip
TAR XVL stable.tar
CD PERL-5.6.0
rm -f config.sh Polycy.sh
Sh Configure -de
se maquiller
Faire un test
Faire l'installation
Qu'est-ce que CGI = https://homepages.dcc.ufmg.br/~mlbc/cursos/internet/cgi/intro.htm
CGI Serving Web pages (html) = http://devfuria.com.br/miscelaneous/cgi-common-gateway-interface/
Qu'est-ce que les formulaires CGI / Formatting CGI = http://penta.ufrgs.br/edu/forms/cgi.html
Ressources CGI à Java et JavaScript = http://penta.ufrgs.br/pesquisa/joice/cap4.html
CGI SCRIPTS VRAIMENT Easy / Writing CGI pour traiter les formulants sur le web = https://www.jmarshall.com/easy/cgi/portugues/
CGI - interface de passerelle commune = https://web.fe.up.pt/~goii2000/m9/cgi.htm
Variables d'environnement IBM dans le script CGI (référence) = https://www.ibm.com/docs/en-br/netcoolomnibus/8.1?topic=sshtq_8.1.0/com.ibm.netcool_omnibus.doc_8.1.0/webtop/wip/reference/web_cust_envariablesinchgscripts.html
CGI - TCL / TK Language = http://www.c2o.pro.br/automacao/ar01s14.html
CGI Forms = http://penta.ufrgs.br/edu/forms/cgi.html
Tutoriel CGI = https://www.w3.org/cgi/
Interface de passerelle commune (CGI) = https://en.wikipedia.org/wiki/common_gateway_interface
Cgi (wikipedia) = https://en.wikipedia.org/wiki/cgi
CGI Introduction = http://homepages.dcc.ufmg.br/~mlbc/cursos/internet/cgi/intro.htm
Qu'est-ce que CGI (interface de passerelle commune) et que fait-il? L'interface de passerelle commune (CGI) est une technologie qui vous permet de générer des pages dynamiques avec l'interaction de script de serveur HTTP avec les scripts et les programmes de passerelle via des paramètres. Les scripts CGI sont donc les petits programmes qui interprètent ces paramètres et génèrent une page après les traiter.
Mais l'utilisation du CGI n'est pas très sûre, en gardant à l'esprit que certaines précautions de sécurité doivent être prises. Ci-dessous, il sera discuté des précautions de sécurité à prendre en fonction de certaines règles des programmes CGI après avoir expliqué le fonctionnement du CGI.
Comment ça marche? Exemple:
Le client (navigateur) demande une URL à partir de l'URL demandée pour un CGI, de sorte que le serveur effectue le CGI CGI en interaction avec d'autres applications système, récupère les données de ces applications et renvoie le résultat au serveur le serveur envoie les données au client, qui formate le résultat et présente à l'utilisateur pour entrer la description de l'image ici.
Pourquoi utiliser CGI? Avec CGI, votre serveur peut accéder à des informations qui ne sont pas de manière lisible au client (par exemple, la base de données SQL) et agit comme une passerelle entre eux pour produire quelque chose que le client peut utiliser. Les passerelles peuvent être utilisées dans une variété d'objectifs, les plus courantes sont la manipulation ISIndex et la réquisition du formulaire HTTP.
CGI utilise des exemples: convertir les pages manuelles HTML Systems et envoyer le résultat HTML au client. Interface avec la base de données WAIS et Archie, convertissant les résultats en HTML et envoi du résultat au client. Permettez à l'utilisateur de nourrir son serveur via un formulaire HTML et un décodeur suivant le CGI. Vous pouvez écrire ces CGI à travers des passerelles qui peuvent être écrites dans n'importe quel liguage qui vous permet d'être exécuté dans le système, tel que:
C / C ++ FORTRAN PERL TCL UNIX Shell Visual Visual Basic Apple Script Quelles sont les principales règles des programmes CGI? Les programmes CGI, ou scripts, sont des programmes exécutables qui peuvent être exécutés par vous-même (ce qui n'est pas un moyen sûr). Par conséquent, certaines précautions de sécurité doivent être mises en œuvre lors de l'utilisation de programmes CGI.
Les principales règles sont:
Le script CGI doit être dans un endroit déterminé par le serveur pour Scripts CGI ou doit avoir un suffixe spécial, que le serveur est configuré pour reconnaître comme un script CGI légal. La plupart des systèmes stocke les scripts CGI dans un répertoire racine du serveur HTTP appelé CGI-BIN, qui est configuré de telle manière que seuls certains utilisateurs fiables peuvent l'enregistrer. Cela évite des problèmes de sécurité évidents qui surviennent en permettant aux utilisateurs distants anonymes d'effectuer quoi que ce soit dans le système. Exemple: / usr / local / apache / htdocs / cgi-bin
Le script peut collecter ses paramètres, une entrée par défaut (via le clavier), des variables d'environnements ou les deux.
Le script doit donner comme sortie, l'un des trois types d'en-tête standard, en tant que chaîne de texte normale. Être les trois types:
Context_Type: Le type de contenu fait référence à tout type de données MIME acceptées par le serveur. Les types communs incluent le texte / HTML, le texte / simple et les données / GIF. Comme le navigateur / serveur ne peut pas déduire ce type de fichier à partir d'un emplacement de nom de fichier ou d'un suffixe, ce titre informera le navigateur à quel type de données attendent et comment l'utiliser.
Format: Type / Type
Emplacement: pointe vers un document ailleurs sur le serveur. Vous permet de rediriger les demandes de documents, en fonction de certains critères envoyés par un formulaire ou une variable d'environnement.
Statut: peut être utilisé pour exécuter un script sans envoyer de nouvelle page au client. Il peut également être utilisé pour envoyer un message d'erreur ou d'autres informations au client.
Le script doit être exécutable par l'utilisateur que le serveur a configuré. (Il y a un utilisateur spécial appelé "personne" qui est l'utilisateur par défaut pour la plupart des serveurs Web. Vous devez vous assurer que l'utilisateur "personne" ou l'utilisateur auquel votre serveur est configuré est autorisé à exécuter vos scripts et à lire / écrire dans n'importe quel fichier que le script peut utiliser).
Plus de détails de sécurité dans les scripts CGI
Comment obtenir des informations sur le serveur? Chaque fois qu'un utilisateur demande l'URL correspondant à son programme CGI, le serveur l'exécutera en temps réel. Un mauvais concept sur CGI est que vous pouvez envoyer des options de commandes et d'arguments facultatifs pour votre programme, tels que:
Command% myprog -qa blorf
CGI utilise la ligne de commande à d'autres fins. Gateway utilise des variables environnementales pour envoyer ses paramètres au programme.
Comment envoyer des documents à l'utilisateur? Les programmes CGI peuvent renvoyer un grand nombre de types de documents. Vous pouvez retourner une image à l'utilisateur, un document HTML ou peut-être un clip audio. Peut également se référer à d'autres documents.
Le client doit savoir quel type de document recevra, afin qu'il puisse le présenter correctement. Bientôt, le programme CGI doit informer le serveur quel type de document est envoyé.
Afin de communiquer au serveur le type de document qui revient, qu'il s'agisse d'un document complet ou d'une référence à un autre, CGI nécessite une petite en-tête à la sortie. Cet en-tête est un texte ASCII, composé de lignes séparées ou de linefeeds ou de rendements de chariot (ou les deux) suivis d'une ligne vierge.
Exemple:
Un document complet avec le type MIME correspondant. Envoi d'un document HTML au client.
Type de contenu: texte / html
<Title> Html Sortie d'un script CGI </TITME>Type de contenu: Texte / HTML Lieu: Gopher: //httprules.foobar.org/0
<Title> Désolé ... déplacé </TITME>Un formulaire peut contenir divers composants tels que les entrées, les cases à cocher et la radio.
Comment obtenir des données de formulaire? Il existe deux méthodes qui peuvent être utilisées pour accéder aux formulaires, obtenir et publier. Selon la méthode utilisée, vous recevrez les données différemment.
La méthode GET: Si votre formulaire utilise Method = "Get", votre programme CGI recevra les données codées dans la variable d'environnement Querry_String. Exemple:
Connexion: mot de passe:La méthode du post: Si votre formulaire utilise Method = "Post", votre programme CGI recevra les données d'entrée standard STDIN. Le serveur n'enverra pas d'EOF à la fin des données. Au lieu de cela, vous devrez utiliser la variable d'environnement Content_Length pour déterminer la quantité de données à lire à partir de STDIN.
Exemple:
Connexion: mot de passe:Comment lire une variable environnementale dépendra du système d'exploitation dans lequel le programme CGI sera exécuté et du langage de programmation dans lequel il a été écrit. Un programme C exécuté dans UNIX peut utiliser la fonction char * getenv (const char * name); qui est nommé la variable comme argument et renvoie sa valeur dans une chaîne.
Est-ce une ancienne technologie? Le CGI a été conçu comme l'aboutissement des discussions par des experts pendant les premiers jours d'Internet, en 1993 par le National Center (pour les applications de supercalcul), à savoir Rob McCol, John Franks, Ari Lotonen, George Phillips et Tony Sanders. Qu'est-ce qui peut la faire considérer comme une ancienne technologie.
CGI Spécification 1.1: RFC3875
Bien que le langage généralement associé à CGI soit Perl, CGI a été conçu afin d'être indépendant de la langue utilisée. Actuellement, des technologies comme ASP.NET, PHP, Python et Ruby continuent d'utiliser la spécification.
Y a-t-il d'autres alternatives à lui (laquelle)? FastCGI: Il s'agit d'un protocole binaire pour l'interaction d'interface avec un serveur Web.
PSGI: Il s'agit d'une interface entre les serveurs Web et les applications Web Perl et Frameworks qui vous permet d'écrire des applications qui peuvent être effectuées sous forme de serveurs autonomes ou à l'aide du CGI. Rack: fournit une interface modulaire et adaptable pour le développement d'applications Web dans Ruby.
WRB: technologie HTTP Server similaire à Oracle Distributed CGI.
Interface: élément qui fournit une connexion physique ou logique entre deux systèmes ou parties d'un système qui ne pourraient pas être connectés directement.
Vision General Insérez la description de l'image ici
Généralement, le serveur HTTP dispose d'un répertoire (dossier), qui est désigné comme une collection de documents (fichiers), qui peuvent être envoyés aux navigateurs Web liés à ce serveur. Par exemple, si le serveur Web dispose du nom de domaine Exemple.com et que votre collection de documents est stockée dans / usr / local / apache / htdocs dans le système de fichiers local, alors le serveur Web répondra à une commande pour http://exemplo.com/index.html en envoyant au navigateur le fichier /usr/local/pache/indocs/indocc.html.
CGI étend ce système, permettant au propriétaire du serveur Web de désigner un répertoire dans la collection de documents contenant des scripts (ou des fichiers binaires) au lieu de pages prescrites, ceci est connu sous le nom de répertoire CGI. Par exemple, / usr / local / apache / htdocs / cgi-bin pourrait être désigné comme répertoire CGI sur le serveur Web. Si un navigateur Web demande l'URL qui pointe vers un fichier dans le répertoire CGI (par exemple, http://exemplo.com/cgi-bin/printtenv.pl) au lieu d'envoyer simplement le fichier (/usr/local/apache/htdocs/cgi-bin/printenv.pl) pour le script pour le Script pour le Script pour le Script pour le Script pour le Script to the Script to the Halle navigateur Web. Autrement dit, tout ce que le script envoie la sortie par défaut est transmis au client Web au lieu d'être affiché à l'écran dans une fenêtre de terminal.
Structure générale des scripts CGI: lecture et décodage des données (et / ou champs d'information d'un package HTTP);
Traitement des données (enregistrer des informations sur les bases de données, effectuer des calculs, récupérer les données);
Création d'une page Web avec les résultats produits.
Exemples de traitement des données d'application de CGI soumis par le biais de formulaires;
Servir d'interface avec les bases de données, convertissant la transaction HTML en SQL et formatant en HTML les réponses obtenues, puis envoyée les résultats au client;
Convertir les données système en HTML et renvoyer le résultat au client;
Création de documents personnalisés;
Gérer les compteurs d'accès;
Traitement de cartes.
Méthodes de transmission Le protocole HTTP utilise diverses méthodes de gestion des données et d'organisation. Les deux méthodes les plus couramment utilisées pour soumettre des données de formulaire sont le GET et le Post. Les deux méthodes transfèrent les données du navigateur vers le serveur, la plus grande différence entre eux est la façon dont les informations sont transmises au programme CGI:
Obtenir
CGI a appelé à travers la méthode GET
Le navigateur ajoute un "?" L'URL spécifiée dans l'attribut d'action et les valeurs codées;
http://exemplo.com/cgi-bin/registra.pl?login=Guest
Le serveur, lors de la réception d'une URL avec une corde de requête, appelle le programme CGI identifié dans la première partie de l'URL (avant «?») Et maintient la partie après «? Dans la variable d'environnement Query_String (la chaîne de consultation contenue dans l'URL après le «?»). En supposant que l'utilisateur a typé "invité" dans le champ de connexion, lorsque le bouton Soumettre est cliqué, le navigateur envoie au serveur.
La demande GET identifie le document à envoyer (CGI-Bin / Record.pl). Tant que le serveur est configuré pour reconnaître tous les fichiers du répertoire CGI-BIN en tant que programme CGI, il exécute le programme au lieu d'envoyer le document directement au navigateur et met la chaîne Login = 'invité' dans la variable d'environnement Query_String.
Le programmeur du CGI ne peut pas contrôler la méthode que le programme sera appelé. Ainsi, les scripts sont généralement écrits pour prendre en charge les deux méthodes.
Les données introduites dans une forme font partie du corps du message envoyé au serveur.
Alors que la méthode GET transmet les informations via des variables environnementales, le post envoie les données au programme CGI via une entrée standard (entrée par défaut, stdio.h), en tant que chaîne de longueur spécifiée dans la variable environnement de contenu_length;
Passe 2 appels au serveur, un pour contacter le serveur et un pour envoyer les paramètres. En d'autres termes, si le serveur reçoit une forme de formulaire utilisant le message, il sait qu'il doit continuer à "attendre" le reste des informations.
Avantages / inconvénients
L'avantage de Get est qu'il vous permet d'accéder au programme CGI avec une requête sans utiliser de formulaire, en gros, nous passons des paramètres pour un programme. Exemple: programme CGI
Le plus grand inconvénient de Get est le manque de sécurité et le fait qu'il y a des soins que le navigateur ou le serveur ne trompe pas les informations qui dépassent le nombre de caractères autorisés.
Le plus grand avantage de la méthode post est la taille de la requête à être illimité. Pour plus d'informations via la méthode post, le programme CGI lit l'entrée standard, il n'est donc pas possible d'accéder au CGI sans utiliser de formulaire.
L'histoire prenant en compte la vitesse à laquelle les innovations se produisent, CGI peut être considérée comme ancienne, compte tenu de la création informatique, on peut dire qu'elle est à l'âge moyen.
En 1993, l'équipe du National Center for Supercomputing Applications (NCSA) a écrit une spécification pour appeler les exécutables de ligne de commande sur la liste de diffusion www-voltal. Cependant, NCSA n'héberge pas la spécification.
D'autres développeurs ont adopté la spécification et ont été une norme pour les serveurs Web depuis. Un groupe présidé par Ken Croar a commencé un emploi en novembre 1997 pour obtenir la définition de NCSA la plus définie formellement. Ce travail a abouti à RFC3875, qui spécifie la version CGI 1.1. Les contribuables suivants sont expressément mentionnés dans la RFC:
Rob McCool (auteur du serveur Web NCSA HTTPD) John Franks (auteur du serveur Web GN) Ari Lotonen (développeur de serveur Web Cern HTTPD) Tony Sanders (auteur du serveur Web de Plexus) George Phillips (maintenance du serveur Web à l'Université de la Colombie-Britannique).
En tant qu'alternative, vous pouvez considérer:
Fastcgi
PSGI (interface de passerelle Perl Server))
Rack (interface du serveur Web)
WSGI (interface de passerelle de serveur Web)
Exemple simple d'un script CGI
Mettez les deux nombres: