begin process at 2012 05 27 18:40:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Base de données

 > 

SQL Server

 > 

les balises serveur ne peuvent pas contenir <% ... %>????


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

les balises serveur ne peuvent pas contenir <% ... %>????

jeudi 18 septembre 2008 à 15:08:08 | les balises serveur ne peuvent pas contenir <% ... %>????

pilou812

Bonjour,

Je souhaite passer dans une balise <asp:SqldataSource... les paramètres request.queryString("recherche").
J'ai le message d'erreur suivant:
Server tags cannot contain <% ... %> constructs

Mon code est le suivant:
       <asp:SqlDataSource ID="ParentSqlDataSource" runat="server"
        ConnectionString="Provider=SQLOLEDB;Server=FRWEB01;Initial Catalog=intranet;uid=crawford;pwd=crawford"
        ProviderName="System.Data.OleDb" SelectCommand="SELECT * FROM Annuaire WHERE <%=Request.QueryString("type")%> LIKE '%<%=Request.QueryString("recherche")%>%' ORDER By Nom, Prénom">

Pourriez vous m'aider?
Cordialement

jeudi 18 septembre 2008 à 15:37:44 | Re : les balises serveur ne peuvent pas contenir <% ... %>????

Nix

Membre Club Administrateur CodeS-SourceS

Salut,

Non tu ne peux pas faire comme ça.
Il faut que tu modifies dans le code behind dans le Load de ta page omme ceci :
ParentSqlDataSource.SelectCommand = "SELECT * FROM Annuaire WHERE " & Request.QueryString("type") & " LIKE '%" & Request.QueryString("recherche") & "%' ORDER By Nom, Prénom"

Mais je te déconseille TRES fortement de récupérer un paramètre d'url et de l'envoyer en pature comme ceci dans ta ligne de commande. Tu ouvres une porte énorme au SQL Injection et met en péril ta base de données

A++

Nix

[MVP VB, VB .NET ASP .NET] - Le blog de Nix

jeudi 18 septembre 2008 à 15:40:53 | Re : les balises serveur ne peuvent pas contenir <% ... %>????

pilou812

Merci Nix de ta réponse et ta rapidité!

Ca focntionne ainsi
Quel conseil peux tu me donner pour contourner ce problème de securité?
Merci
jeudi 18 septembre 2008 à 21:24:34 | Re : les balises serveur ne peuvent pas contenir <% ... %>????

Nix

Membre Club Administrateur CodeS-SourceS

Et bien si c'est un SQL Server je te conseil de faire des procédures stockées et de les utiliser plutôt que d'envoyer la requête "manuellement". Le risque ici, c'est par exemple que quelqu'un mette un ' dans ton paramètre et ajoute un DROP DATABASE; derrière par exemple (c'est la version courte) mais on peut faire bien pire.

Pour contrer ça tu peux faire une "bidouille" vite fait qui consiste à doubler les ' tu fais un function qui fait un simple replace de "'" par "''" comme ça t'es sur que si un ' est enoyé dans tes params il sera doublé et ensuite tu construit come ceci :
ParentSqlDataSource.SelectCommand = "SELECT * FROM Annuaire WHERE " & TaFunction(Request.QueryString("type")) & " LIKE '%" & TaFunction(Request.QueryString("recherche")) & "%' ORDER By Nom, Prénom"

Ca sera déjà plus sécure même si c'est pas très élégant.

A++

Nix

[MVP VB, VB .NET ASP .NET] - Le blog de Nix

vendredi 19 septembre 2008 à 09:07:59 | Re : les balises serveur ne peuvent pas contenir <% ... %>????

pilou812

Bonjour Nix

Merci de ta réponse.
Je vais regarder pour utiliser les procedures stockées.
Ca sera plus propre ainsi :)
Merci encore


Cette discussion est classée dans : server, serveur, contenir, balises, crawford


Répondre à ce message

Sujets en rapport avec ce message

HELP Connection SQL Server [ par draganovic ] salut, voila, j'ai un petit pépin, j'aimerais me connecter à un serveur intranet qui tourne sur SQL Serevr 6.5 à travers une bd.Je connaît le nom du s Ajouter une imprimante sur un serveur Microsoft Server 2000 [ par dadav ] Bonjour,J'installe un réseau à l'aide de microsoft server 2000 et je voudrais ajouter des imprimantes connectées au réseau.Quelle est la procédure à s Upload fichier sur server de bd [ par yanualed ] Bonjour tt l'monde,je voudrais uploader un fichier texte sur mon serveur de BD et je sais pas comment faire, j'ai trouvé des scripts qui permettent d' run sur server [ par thibobr ] salut,actuellement je lance un vbs a partir de ma page asp situé sur un serveur a partir d'un poste client.ce vbs s'execute sur le poste client. Je vo Connexion à SQL Server [ par diak ] Salut les mecs, j'ai un pb de connexion à ma BD en SQL Server qui sous le serveur local (Windows NT). Ma chaîne de connexion est la suivante : connstr asp e sql externe [ par nicole66 ] Bonjour, Je désire que mes pages asp aillent alimenter un base de données sql située sur un serveur externe. J’ai ouvert les port Envoyer un mail c'est impossible ??? [ par dadamagouil ] Hello, g plusieurs script pour envoyer un mail...Aucun ne marche sur mon serveur distant, je ne sais pas encore PKL'erreur est la suivante HELP C IMPO W Server 2003 avec II6 : écrire sur le serveur et accès extérieur [ par isadev ] Bonjour,J'ai pas mal cherché mais je désespère. J'ai donc une appli ASPX sur un IIS6 installée sur un Windows Server 2003. Elle fait trois choses en p envoyer balise html sur serveur [ par taillecrayon ] j'ai vu pas mal de sites pour réaliser une richtextbox,aucun ne parle de mon pb: une fois le texte formaté avec ses balises si je l'envoi au serveur i la sécurité d un server ? [ par Poulipe ] Bonjour,existe t il une possibilitée de mirroring d un serveur iis 4 ? ou quelle autre solution serait a envisager quand un serveur plante ? faut il


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,250 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales