javascript et la sécurité ?
Bonjour.
Voici un problème de sécurité avec javascript. Par exemple
une fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| function modifierRDV(action,codRDV,etaRDV){
dtRDVo=getObjectById("dtRDV").value;
alert(dtRDVo);
heurMnt=getObjectById("heurRendeVou").value;
reqe="RDVou.do?action="+action+"&codRDV="+codRDV;
//fonction qui envoie et récupère les données
envoyerReq(reqe,'divRDVs',false);
affichRDVs();
} |
le problème est que si un utilisateur lit ce script et qu'il met dans la barre d'adresse :
nom de site web/reqe="RDVou.do?action="+action+"&codRDV="+codRDV;
le serveur va exécuter la requête.
Comment éviter d'avoir un tel scénario ?
Bref : l'utilisateur connait le chemin pour exécuter une opération qui nécessite d'avoir effectué une condition en préalable (ex : se connecter, remplir une zone de texte) mais puisque l'utilisateur connait le chemin il ne va pas remplir la zone de texte... il va essayer d'envoyer dans la barre d'adresse l'url donc interroger directement le serveur sans passer par le script.
Si vous n'avez pas compris ma question merci de le signaler.
Merci d'avance .
validation formulaire coté serveur ou coté client
Citation:
Envoyé par
E.Bzz
S'il n'y a qu'un seul des 2 contrôles à faire, c'est sur le serveur.
Le contrôle Javascript n'est là que pour le confort de l'utilisateur, mais ne peut (et ne doit) pas être considéré comme une sécurité.
A+
oui j'ai compris,merci.
utiliser la session mieux qu'intéroger la bd?
Oui ,c'est exactement ce que je fais maintenant ,je teste la validité de requéte et si il n'est pas logique ex:(il valide un rendes-vous déja validé =>le serveur affiche une page d'erreur).Mais je ne dois pas enregister la liste de rendez-vous dans la session il faut dans chaque modification interroger la base de donnée(select les rendez-vous...)pourquoi??
il peut que les informations de base de donnée changent et la session conserve des anciennes donnée (comme les réservations des places d'avion). dans ce cas le serveur teste sur des données anciennes ce qui engendre à une perturbation de validation.
le fait d'interroger la base de donné chaque fois ,ça n'alourdit pas la vitesse surtout que j'utilise hibernate?.
Que vous en dites??
Merci.