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 :
<% 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.
Partager