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 :

Problème Constante chaîne non terminée


Sujet :

ASP

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

    Informations forums :
    Inscription : Juillet 2004
    Messages : 15
    Points : 14
    Points
    14
    Par défaut Problème Constante chaîne non terminée
    Bonjour,

    Je dois récupérer une vieille application Internet, et la débugguer afin que certaines fonctionnalités fonctionnent justement!

    Il se trouve que pour cette application le login et le mot de passe administrateur sont stockés dans une fichier .asp

    Un formulaire permet de les modifier, voici le code source le traitant, suivi du message d'erreur que j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <% Set FSO = _
       Server.CreateObject("Scripting.FileSystemObject") %>
       <% dir = Server.MapPath(".") %>
       <% Fnm = dir & "\admin_connex.asp" %>
       <% set inF = FSO.OpenTextFile(Fnm,2,false) %>
       <% inF.writeLine "<%" %>
       <% inF.writeLine "login_admin = """ & request("login") & """" %>
       <% inF.writeLine "pass_admin = """ & request("password") & """" %>
       <% inF.write "%>" %>
       <% inF.close %>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Type d'erreur :
    Erreur de compilation Microsoft VBScript (0x800A0409)
    Constante chaîne non terminée
    /Escape/pages/membres/change_mot_de_passe.asp, line 37, column 11
    inF.write "
    ----------^
    J'ai beau tourner le problème dans tous les sens je ne trouve pas d'erreur .... Une idée ?

  2. #2
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <% 
    Set FSO = _ 
       Server.CreateObject("Scripting.FileSystemObject")
       dir = Server.MapPath(".")
       Fnm = dir & "\admin_connex.asp" 
      set inF = FSO.OpenTextFile(Fnm,2,false) 
       inF.writeLine "<%" 
      inF.writeLine "login_admin ='" & request("login") & "'"   ' ligne 37 sans doute
    inF.writeLine "pass_admin = '"& request("password") & "'" %> 
    inF.write "%>"
    nF.close 
    %>
    inutile de multiplier les <% allers-retours
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    Citation Envoyé par totoche
    inF.writeLine "login_admin ='" & request("login") & "'" ' ligne 37 sans doute
    regarde bien le message d'erreur c'est un write et non un writeline.
    Les requests "tout court" ça fonctionne ? je trouve pas ça très "propre" et je pense que niveau perf cela doit être moins bon ?

    Citation Envoyé par totoche
    inutile de multiplier les <% allers-retours
    +1

  4. #4
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Salut Pymm,
    j'ai pas compris

    +1
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    Je suis d'accord avec toi c'est pas la peine d'ajouter du code qui ne sert pas.
    cela risque de dégrader les performances.

  6. #6
    J1
    J1 est déconnecté
    Membre averti Avatar de J1
    Inscrit en
    Mai 2004
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 321
    Points : 335
    Points
    335
    Par défaut
    Le problème vient du fait qu'à la ligne
    le premier %> est interprété comme étant la balise de fin de code ASP, ce qui fait donc planter l'interpréteur.
    Essaie donc ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <% inF.write "%" & ">" %>
    Au fait, j'espère que l'accès à ta page change_mot_de_passe.asp est bien contrôlé parce que c'est très dangereux de laisser à un internaute le loisir de modifier le contenu d'une page ASP.
    En effet, plutôt que de saisir un login comme tu l'attends, il peut très bien saisir un bout de code. A titre d'exemple, imagine (mais ne teste pas, ça ferait sûrement planter ton appli) ce qui se passerait si ton utilisateur saisissait le login suivant :
    ":response.end
    Mais pire, imagine maintenant que l'utilisateur remplace response.end par un bout de code supprimant des fichiers du serveur !
    En fait, c'est le même problème que pour les injections SQL. On pourrait appeler ça une injection ASP.

    Maintenant, étant donné que ta page semble destinée aux admins (des utilisateurs a priori bienveillants donc), je suppose que le risque est moindre. Mais dans l'absolu, c'est une pratique risquée. En tout cas, te voilà prévenu. Un homme averti en vaut deux

    PS : d'ailleurs, même s'il n'est pas malveillant, un admin peut très bien saisir un login contenant un guillemet, ce qui fera aussi planter l'appli.

Discussions similaires

  1. IE7/IE8 Constante chaîne non terminée dans l'url
    Par Concombre Masqué dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 22/05/2009, 12h47
  2. Réponses: 5
    Dernier message: 02/08/2006, 17h05
  3. [PHP-JS] Constante chaîne non terminée
    Par dubitoph dans le forum Langage
    Réponses: 7
    Dernier message: 04/05/2006, 12h23
  4. Erreur: Constante chaîne non terminé
    Par dark_vidor dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/02/2006, 00h12
  5. signification : constante chaine non terminé
    Par amelhog dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/08/2005, 12h13

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