IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Redirection Client->Serveur


Sujet :

ASP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 16
    Points : 16
    Points
    16
    Par défaut Redirection Client->Serveur
    Bonjour,

    1°) Serait il possible de remplacer ce script client qui s'execute à chaque ouverture d'une page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <%
    if (IsEmpty(Session("Identifiant"))) then
             Session.abandon()
             %>
             <SCRIPT LANGUAGE='javascript'>
                    parent.document.location="Expire.asp";
             </SCRIPT>
             <%
    end if
    %>
    Par un script côté serveur sachant que lorsque que la session du client sur le serveur expire (IsEmpty(Session("Identifiant"))) le serveur renvoie une certaine page (la session a expirée) au dessus de tous les cadres existants :

    Le client ouvre son navigateur et se connecte (demarrage de la session)
    Il obtient apres identification 3 frames.
    Lorsque le timeout de la session expire, le serveur (apres une nouvelle interaction avec l'application) renvoie le client sur une page (la session à expirée) sans frames.

    2°) Existe-t-il un moyen d'executer un script coté serveur (ASP) lorsque le client ferme la fenetre de son navigateur ?

    Merci.

  2. #2
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    regarde la méthode redirect en asp. Elle fait exactement ce que tu veux.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 16
    Points : 16
    Points
    16
    Par défaut Re
    En fait non.
    Je m'explique :

    le début de chaque fichier ressemble à ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <!--#include file="Scripts/Includes/ASP/checkForSession.inc"-->
    <!--#include file="Scripts/Includes/ASP/connexions.inc"-->
    <!--#include file="Scripts/Includes/ASP/divers.inc"-->
    <!--#include file="Scripts/Includes/ASP/updateSession.inc"-->
    Et donc lorsque qu'on applelle une page contenant plusieurs frames, ce code est vérifié lorsque l'utilisateur accede ou modifie l'url de chacune des frames composant le document.

    Donc si j'avais utilisé un response.redirect() je me retrouverais avec 2/3 frames consultables et 1/3 qui serais redirigée vers la page d'expiration.
    Le cas échéant, je me retrouverais avec 3/3 frames regirigées vers la page d'expiration.

    La je voudrais que coté serveur, tout le document entier soit redirigé si l'appel d'un des checkforSession.inc est appellé (situé dans les 3 frames).

    Actuellement ca se fait coté client avec le code qui est plus haut mais comme le script SGBD est traité coté serveur, avant que l'utilisateur ne soit redirigé, mes instructions de mise a jour sont executées.

  4. #4
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    Je ne comprend pas bien. Tu as par exemple une fenêtre avec 3 frames. L'utilisateur reçoit l'écran correcte. Par une action javascript tu déclenche la mise à jour d'un des frames. Si c'est bien cela, alors le serveur ne peut rien y faire. Sinon je ne vois pas le problème. Je suppose que ton checkForsession donne le même résultat pour chaque frame. Et donc si tu le met dans la page ou sont définis les frames, en cas d'échec de la vérification, cette page est redirigée avant même que les frames ne soit créés et tu n'as bien qu'une seule page d'expiration. Bien sur il est toujours conseillé de laisser le contrôle dans les pages des frames pour éviter un appel direct à l'une de ces pages depuis le navigateur.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 16
    Points : 16
    Points
    16
    Par défaut Re
    Voila, sur certains point tu as mis dans le mille.

    En fait le checkForSession est contient le script du haut de la page.
    Il est déstiné à verifier que lors de l'identification, l'utilisateur à bien été validé (IsEmpty(session("Identifiant"))).

    Sur chaque frame, soit un menu de navigation entre enregistrements, l'affichages des données, et une selection de critère, chaque action(submit ou onclick) de l'utilisateur rappelle chaque page indépandament ou non ce qui refait appel à checkForSession.
    Le souci c'est que certaines pages, lorsqu'elles sont validées agissent sur la base de donnée. Ainsi, avant d'étre redirigées, les pages peuvent altérer la base (ce qui au niveau sécurité des données est moyen).

    Moi je cherche à faire la meme chose mais avant le traitement coté serveur.
    Si il n'y avait pas eu de frames, j'aurais de suite utilisé le response.redirect mais la ce n'est pas le cas.

    Ne peut il pas y avoir une solution par les httpheaders ?

  6. #6
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    Tu utilise des champs lié (binding) à la DB dans tes formulaires ! Je suppose sinon rien ne se passerai avant le script côté serveur même si l'utilisateur à validé et il n'y a pas de problème de sécurité alors. Moi, je n'aime pas trop cela, je fais la gestion moi même entre le formulaire et la db.

    Pour le httpheader je ne vois pas mais je ne suis pas spécialiste.

    Bon courage.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Moi aussi seulement il s'agit d'une aplication web qui enregistre de la saisie de données sensibles.

    Le systeme est fait de facon a ce qu'un utilisateur qui reste inactif depuis un certain temps perde sa session.
    Imagine, l'opératuer va uax toilette et y reste 10 min, le systeme doit empecher quiconque de saisir ces données.
    Seulement, dans l'etat actuel des choses, avant la redirection qui empeche de consulter les autres données sensible, l'opération qui etait en cours au moment ou l'operateur va aux toilette, peut encore étre validée 'car le java s'execute cote client et le traitement des données cote serveur).

    PS : les champs ne sont liés en rien. Tout se fait a la mano derriere

  8. #8
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    Ok mais désolé je ne comprend pas car au moment ou un mal intentionné envoi la requête (et pendant que l'utilisateur est au toilette ), le serveur reçoit cette requête, la si la session est timeout, le serveur le sait et peut parfaitement refuser le traitement. La sécurité est donc garantie et la base de donnée n'est pas mise à jour.

    Maintenant tu pourrais aussi faire autre chose. En javascript. tu initialise un compteur à 5 par exemple. Tu décremente via une fonction appelée automatiquement toutes les minutes toujours par exemple. Lorsque le compteur arrive à zéro tu réaffiche la home page. La page sensible est quittée. Chaque fois qu'une opération est effectuée par l'utilisateur tu remet ton compteur à 5. C'est un peu fastidieux mais ç'a peut être sympa.

    Cela n'empèche pas d'avoir des sécuritées côté serveur car une page peut toujours être appelée en direct. L'idéale est de vérifier le nom de la page appelante et dans ton cas en plus, l'Identification de l'utilisateur.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Pas bête ! Merci, je pense que je vais me re tapper les 75 pages. Je vais trouver une soluce.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 98
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par darksethys
    Pas bête ! Merci, je pense que je vais me re tapper les 75 pages. Je vais trouver une soluce.
    Salut

    tu as mis [résolu] mais je ne vois pas de solution à ton problème.

    Perso, je ne veux absolument pas de client (JS) et j'ai des frames.

    Y a-t-il un astuce ? là je vois pas

    Merci
    a+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fin de conversation entre client et serveur
    Par Stany dans le forum C++
    Réponses: 2
    Dernier message: 15/07/2005, 11h07
  2. Réplication de base Client vers Serveur
    Par lil_jam63 dans le forum Administration
    Réponses: 3
    Dernier message: 18/06/2005, 21h57
  3. Accès client à un serveur SQL
    Par IADJOFOGUE dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/03/2005, 08h33
  4. [Java] Communication entre client et serveur
    Par danje dans le forum CORBA
    Réponses: 1
    Dernier message: 14/12/2004, 18h08
  5. RMI:Client Windows Serveur Unix
    Par abd21 dans le forum CORBA
    Réponses: 1
    Dernier message: 10/06/2004, 12h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo