8768 sujets

Développement web côté serveur, CMS

Bonjour,

pour le traitement d'un questionnaire (formulaire avec des cases à cocher "checkbox")

sur un serveur Apache2,
j'ai placé mon fichier
questionnaire.html
à la racine du site.

Ça donne :
http://exemple.com/questionnaire.html


J'ai mis le script qui traite le formulaire dans :
./cgi-bin/reponse.sh


Ce script contient le code qui traite la chaîne passée par la requête HTTP
puis l'entête et le code de la page de retour comme suit :


#!/bin/bash

read form_output

echo "$form_output" > form_output.txt ;

echo -e "Content-type: text/html\n\n" ;

echo "<!DOCTYPE html><html lang="fr"><head>.....</body></html>"


Cela fonctionne correctement
et
l'url de la réponse est :
http://exemple.com/cgi-bin/reponse.sh



J'ai testé de renommer le script en :
reponse.html

ça fonctionne aussi,
l'url est alors :
http://exemple.com/cgi-bin/reponse.html



Des URL avec du "cgi" et/ou du .sh me semble un peu "strange"

Donc à part le côté pas très glamour,

Est-ce que cela représente d'autres inconvénients voire problèmes de sécurité ?

Y-a-t-il un moyen simple pour attribuer à la sortie du script une adresse fictive comme :
http://exemple.com/reponse.html

Ça serait même bien si ça fonctionnait pour tous les scripts placés dans
./cgi-bin/


Ou serait-il possible de mettre dans le script une instruction pour rediriger la réponse vers un vrai fichier
./reponse.html


C'est mon baptême du script... svp, soyez indulgents. Smiley rolleyes

Merci pour vos suggestions.
Modifié par dezix (05 Jan 2020 - 23:41)
Modérateur
Et l'eau,

* je suis une quiche en bash.... Smiley ohwell

La partie la plus intéressante, tu la masques....

....
echo "<!DOCTYPE html><html lang="fr"><head>.....</body></html>"
....


Mais que fait ton formulaire ? Du moins, son traitement, comment est il fait ? Est ce que sur le serveur, tu as un langage installé (Python/PHP/Ruby/etc.) ?

lien annexe (peut être que ça t'aidera) : URL Rewriting - Réécriture d'URL à la volée
Modifié par niuxe (10 Jan 2020 - 01:07)
niuxe a écrit :
Et l'eau,
Salut et merci pour ...

a écrit :

* je suis une quiche en bash.... Smiley ohwell
Dommage, mais pour maintenant ce n'est pas bash qui me pose problème Smiley lol

a écrit :

La partie la plus intéressante, tu la masques....

Pas vraiment, c'est juste une réponse du genre "Merci pour la réponse ... et un lien vers un autre page statique ; c'est le nœud de l'affaire je sers du 100% statique HTML/CSS (sans CMS) mais j'ai tout de même besoin de traiter ce formulaire:
=> des cases à cocher qui me renvoie une série de : champ1=valeu1&....

a écrit :

Mais que fait ton formulaire ? Du moins, son traitement, comment est il fait ? Est ce que sur le serveur, tu as un langage installé (Python/PHP/Ruby/etc.) ?

Le traitement consiste simplement à enregistrer ces chaînes dans un fichier pour obtenir un tableau CSV qui servira pour des statistiques très basiques.
Donc pour maintenant rien que du bash


a écrit :

lien annexe (peut être que ça t'aidera) : URL Rewriting - Réécriture d'URL à la volée

OUI!... Je crois que ça doit être la piste qui me manquait pour les URLs
J'étudie un peu cela et je reviens pour un retour ou pour préciser une difficulté.

Sinon -- en considérant que les permissions soient correctement gérées sur le serveur -- ce type d'URL ouvre-t-il une porte au vandalisme ?... en donnant des indications sur ce qui tourne sur le serveur ?

Merci.
Modifié par dezix (10 Jan 2020 - 10:46)