Controler une saisie dans un champ de recherche texte
4 réponses
fabrice
Bonjour à tous.
Je suis exposé à un petit problème de controle d'une saisie d'un champ texte
dans un formulaire.
L'objet étant simple, entrer une chaîne alpha-numérique en vue d'une
recherche dans une base de données.
Je suis en VB.NET.
Sur le Control TextBox j'ai attaché deux Controles de validation notamment
pour éviter le SQL Injection.
Un ASP:RequiredFieldValidator
Un ASP:RegularExpressionValidator
Voici mon expression régulière ValidationExpression="^[a-zA-Z
0-9*/,.-?]{3,20}".
J'autorise les lettres, les chifres et les caractères suivants * / , . - ?
et je limite entre 3 et 20 caractères. Je précise que je ne suis pas
spécialiste de ces expressions.
Mon problème est le suisvant. J'autorise le signe * pour les troncatures. Si
je mets au moins 3 caractères c'est pour éviter que l'utilisateur ramène
tous les enregistrements de la base.
Mais comment éviter qu'un petit malin envoit la chaine suivante *** et alors
bingo il ramène tous puisque le signe * est traité comme le sgne de
troncature SQL.
J'ai envisagé la solution après que la validation de la page, de traiter
encore la chaine pour compter les occurences du signe * et de refuser
l'execution si j'en ai plus de deux.
Et dans ce cas y a t il une "bonne manière" de faire cela ?.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-François Borie
après le *[0,2] essaye
"fabrice" a écrit :
Bonjour à tous.
Je suis exposé à un petit problème de controle d'une saisie d'un champ texte dans un formulaire. L'objet étant simple, entrer une chaîne alpha-numérique en vue d'une recherche dans une base de données.
Je suis en VB.NET.
Sur le Control TextBox j'ai attaché deux Controles de validation notamment pour éviter le SQL Injection. Un ASP:RequiredFieldValidator Un ASP:RegularExpressionValidator
Voici mon expression régulière ValidationExpression="^[a-zA-Z 0-9*/,.-?]{3,20}". J'autorise les lettres, les chifres et les caractères suivants * / , . - ? et je limite entre 3 et 20 caractères. Je précise que je ne suis pas spécialiste de ces expressions.
Mon problème est le suisvant. J'autorise le signe * pour les troncatures. Si je mets au moins 3 caractères c'est pour éviter que l'utilisateur ramène tous les enregistrements de la base. Mais comment éviter qu'un petit malin envoit la chaine suivante *** et alors bingo il ramène tous puisque le signe * est traité comme le sgne de troncature SQL.
J'ai envisagé la solution après que la validation de la page, de traiter encore la chaine pour compter les occurences du signe * et de refuser l'execution si j'en ai plus de deux. Et dans ce cas y a t il une "bonne manière" de faire cela ?.
merci
fabrice
après le *[0,2]
essaye
"fabrice" a écrit :
Bonjour à tous.
Je suis exposé à un petit problème de controle d'une saisie d'un champ texte
dans un formulaire.
L'objet étant simple, entrer une chaîne alpha-numérique en vue d'une
recherche dans une base de données.
Je suis en VB.NET.
Sur le Control TextBox j'ai attaché deux Controles de validation notamment
pour éviter le SQL Injection.
Un ASP:RequiredFieldValidator
Un ASP:RegularExpressionValidator
Voici mon expression régulière ValidationExpression="^[a-zA-Z
0-9*/,.-?]{3,20}".
J'autorise les lettres, les chifres et les caractères suivants * / , . - ?
et je limite entre 3 et 20 caractères. Je précise que je ne suis pas
spécialiste de ces expressions.
Mon problème est le suisvant. J'autorise le signe * pour les troncatures. Si
je mets au moins 3 caractères c'est pour éviter que l'utilisateur ramène
tous les enregistrements de la base.
Mais comment éviter qu'un petit malin envoit la chaine suivante *** et alors
bingo il ramène tous puisque le signe * est traité comme le sgne de
troncature SQL.
J'ai envisagé la solution après que la validation de la page, de traiter
encore la chaine pour compter les occurences du signe * et de refuser
l'execution si j'en ai plus de deux.
Et dans ce cas y a t il une "bonne manière" de faire cela ?.
Je suis exposé à un petit problème de controle d'une saisie d'un champ texte dans un formulaire. L'objet étant simple, entrer une chaîne alpha-numérique en vue d'une recherche dans une base de données.
Je suis en VB.NET.
Sur le Control TextBox j'ai attaché deux Controles de validation notamment pour éviter le SQL Injection. Un ASP:RequiredFieldValidator Un ASP:RegularExpressionValidator
Voici mon expression régulière ValidationExpression="^[a-zA-Z 0-9*/,.-?]{3,20}". J'autorise les lettres, les chifres et les caractères suivants * / , . - ? et je limite entre 3 et 20 caractères. Je précise que je ne suis pas spécialiste de ces expressions.
Mon problème est le suisvant. J'autorise le signe * pour les troncatures. Si je mets au moins 3 caractères c'est pour éviter que l'utilisateur ramène tous les enregistrements de la base. Mais comment éviter qu'un petit malin envoit la chaine suivante *** et alors bingo il ramène tous puisque le signe * est traité comme le sgne de troncature SQL.
J'ai envisagé la solution après que la validation de la page, de traiter encore la chaine pour compter les occurences du signe * et de refuser l'execution si j'en ai plus de deux. Et dans ce cas y a t il une "bonne manière" de faire cela ?.
merci
fabrice
fabrice
j'ai bien essayé mais cela ne donne rien.
fab
"Jean-François Borie" a écrit dans le message de news:
après le *[0,2] essaye
"fabrice" a écrit :
Bonjour à tous.
Je suis exposé à un petit problème de controle d'une saisie d'un champ texte dans un formulaire. L'objet étant simple, entrer une chaîne alpha-numérique en vue d'une recherche dans une base de données.
Je suis en VB.NET.
Sur le Control TextBox j'ai attaché deux Controles de validation notamment pour éviter le SQL Injection. Un ASP:RequiredFieldValidator Un ASP:RegularExpressionValidator
Voici mon expression régulière ValidationExpression="^[a-zA-Z 0-9*/,.-?]{3,20}". J'autorise les lettres, les chifres et les caractères suivants * / , . - ? et je limite entre 3 et 20 caractères. Je précise que je ne suis pas spécialiste de ces expressions.
Mon problème est le suisvant. J'autorise le signe * pour les troncatures. Si je mets au moins 3 caractères c'est pour éviter que l'utilisateur ramène tous les enregistrements de la base. Mais comment éviter qu'un petit malin envoit la chaine suivante *** et alors bingo il ramène tous puisque le signe * est traité comme le sgne de troncature SQL.
J'ai envisagé la solution après que la validation de la page, de traiter encore la chaine pour compter les occurences du signe * et de refuser l'execution si j'en ai plus de deux. Et dans ce cas y a t il une "bonne manière" de faire cela ?.
merci
fabrice
j'ai bien essayé mais cela ne donne rien.
fab
"Jean-François Borie" <JeanFranoisBorie@discussions.microsoft.com> a écrit
dans le message de news:
9BF0FECD-A803-4DCC-A491-7FC8C9F1F73C@microsoft.com...
après le *[0,2]
essaye
"fabrice" a écrit :
Bonjour à tous.
Je suis exposé à un petit problème de controle d'une saisie d'un champ
texte
dans un formulaire.
L'objet étant simple, entrer une chaîne alpha-numérique en vue d'une
recherche dans une base de données.
Je suis en VB.NET.
Sur le Control TextBox j'ai attaché deux Controles de validation
notamment
pour éviter le SQL Injection.
Un ASP:RequiredFieldValidator
Un ASP:RegularExpressionValidator
Voici mon expression régulière ValidationExpression="^[a-zA-Z
0-9*/,.-?]{3,20}".
J'autorise les lettres, les chifres et les caractères suivants * / , . -
?
et je limite entre 3 et 20 caractères. Je précise que je ne suis pas
spécialiste de ces expressions.
Mon problème est le suisvant. J'autorise le signe * pour les troncatures.
Si
je mets au moins 3 caractères c'est pour éviter que l'utilisateur ramène
tous les enregistrements de la base.
Mais comment éviter qu'un petit malin envoit la chaine suivante *** et
alors
bingo il ramène tous puisque le signe * est traité comme le sgne de
troncature SQL.
J'ai envisagé la solution après que la validation de la page, de traiter
encore la chaine pour compter les occurences du signe * et de refuser
l'execution si j'en ai plus de deux.
Et dans ce cas y a t il une "bonne manière" de faire cela ?.
"Jean-François Borie" a écrit dans le message de news:
après le *[0,2] essaye
"fabrice" a écrit :
Bonjour à tous.
Je suis exposé à un petit problème de controle d'une saisie d'un champ texte dans un formulaire. L'objet étant simple, entrer une chaîne alpha-numérique en vue d'une recherche dans une base de données.
Je suis en VB.NET.
Sur le Control TextBox j'ai attaché deux Controles de validation notamment pour éviter le SQL Injection. Un ASP:RequiredFieldValidator Un ASP:RegularExpressionValidator
Voici mon expression régulière ValidationExpression="^[a-zA-Z 0-9*/,.-?]{3,20}". J'autorise les lettres, les chifres et les caractères suivants * / , . - ? et je limite entre 3 et 20 caractères. Je précise que je ne suis pas spécialiste de ces expressions.
Mon problème est le suisvant. J'autorise le signe * pour les troncatures. Si je mets au moins 3 caractères c'est pour éviter que l'utilisateur ramène tous les enregistrements de la base. Mais comment éviter qu'un petit malin envoit la chaine suivante *** et alors bingo il ramène tous puisque le signe * est traité comme le sgne de troncature SQL.
J'ai envisagé la solution après que la validation de la page, de traiter encore la chaine pour compter les occurences du signe * et de refuser l'execution si j'en ai plus de deux. Et dans ce cas y a t il une "bonne manière" de faire cela ?.
merci
fabrice
nicolas franchet
([a-zA-Z0-9/,.-?]{3,20})([*]{0,1}) et qqchose comme ca ? mais ca implique que le * est a la fin de la chaine obligatoirement
fabrice a écrit :
j'ai bien essayé mais cela ne donne rien.
fab
"Jean-François Borie" a écrit dans le message de news:
après le *[0,2] essaye
"fabrice" a écrit :
Bonjour à tous.
Je suis exposé à un petit problème de controle d'une saisie d'un champ texte dans un formulaire. L'objet étant simple, entrer une chaîne alpha-numérique en vue d'une recherche dans une base de données.
Je suis en VB.NET.
Sur le Control TextBox j'ai attaché deux Controles de validation notamment pour éviter le SQL Injection. Un ASP:RequiredFieldValidator Un ASP:RegularExpressionValidator
Voici mon expression régulière ValidationExpression="^[a-zA-Z 0-9*/,.-?]{3,20}". J'autorise les lettres, les chifres et les caractères suivants * / , . - ? et je limite entre 3 et 20 caractères. Je précise que je ne suis pas spécialiste de ces expressions.
Mon problème est le suisvant. J'autorise le signe * pour les troncatures. Si je mets au moins 3 caractères c'est pour éviter que l'utilisateur ramène tous les enregistrements de la base. Mais comment éviter qu'un petit malin envoit la chaine suivante *** et alors bingo il ramène tous puisque le signe * est traité comme le sgne de troncature SQL.
J'ai envisagé la solution après que la validation de la page, de traiter encore la chaine pour compter les occurences du signe * et de refuser l'execution si j'en ai plus de deux. Et dans ce cas y a t il une "bonne manière" de faire cela ?.
merci
fabrice
([a-zA-Z0-9/,.-?]{3,20})([*]{0,1})
et qqchose comme ca ? mais ca implique que le * est a la fin de la
chaine obligatoirement
fabrice a écrit :
j'ai bien essayé mais cela ne donne rien.
fab
"Jean-François Borie" <JeanFranoisBorie@discussions.microsoft.com> a écrit
dans le message de news:
9BF0FECD-A803-4DCC-A491-7FC8C9F1F73C@microsoft.com...
après le *[0,2]
essaye
"fabrice" a écrit :
Bonjour à tous.
Je suis exposé à un petit problème de controle d'une saisie d'un champ
texte
dans un formulaire.
L'objet étant simple, entrer une chaîne alpha-numérique en vue d'une
recherche dans une base de données.
Je suis en VB.NET.
Sur le Control TextBox j'ai attaché deux Controles de validation
notamment
pour éviter le SQL Injection.
Un ASP:RequiredFieldValidator
Un ASP:RegularExpressionValidator
Voici mon expression régulière ValidationExpression="^[a-zA-Z
0-9*/,.-?]{3,20}".
J'autorise les lettres, les chifres et les caractères suivants * / , . -
?
et je limite entre 3 et 20 caractères. Je précise que je ne suis pas
spécialiste de ces expressions.
Mon problème est le suisvant. J'autorise le signe * pour les troncatures.
Si
je mets au moins 3 caractères c'est pour éviter que l'utilisateur ramène
tous les enregistrements de la base.
Mais comment éviter qu'un petit malin envoit la chaine suivante *** et
alors
bingo il ramène tous puisque le signe * est traité comme le sgne de
troncature SQL.
J'ai envisagé la solution après que la validation de la page, de traiter
encore la chaine pour compter les occurences du signe * et de refuser
l'execution si j'en ai plus de deux.
Et dans ce cas y a t il une "bonne manière" de faire cela ?.
([a-zA-Z0-9/,.-?]{3,20})([*]{0,1}) et qqchose comme ca ? mais ca implique que le * est a la fin de la chaine obligatoirement
fabrice a écrit :
j'ai bien essayé mais cela ne donne rien.
fab
"Jean-François Borie" a écrit dans le message de news:
après le *[0,2] essaye
"fabrice" a écrit :
Bonjour à tous.
Je suis exposé à un petit problème de controle d'une saisie d'un champ texte dans un formulaire. L'objet étant simple, entrer une chaîne alpha-numérique en vue d'une recherche dans une base de données.
Je suis en VB.NET.
Sur le Control TextBox j'ai attaché deux Controles de validation notamment pour éviter le SQL Injection. Un ASP:RequiredFieldValidator Un ASP:RegularExpressionValidator
Voici mon expression régulière ValidationExpression="^[a-zA-Z 0-9*/,.-?]{3,20}". J'autorise les lettres, les chifres et les caractères suivants * / , . - ? et je limite entre 3 et 20 caractères. Je précise que je ne suis pas spécialiste de ces expressions.
Mon problème est le suisvant. J'autorise le signe * pour les troncatures. Si je mets au moins 3 caractères c'est pour éviter que l'utilisateur ramène tous les enregistrements de la base. Mais comment éviter qu'un petit malin envoit la chaine suivante *** et alors bingo il ramène tous puisque le signe * est traité comme le sgne de troncature SQL.
J'ai envisagé la solution après que la validation de la page, de traiter encore la chaine pour compter les occurences du signe * et de refuser l'execution si j'en ai plus de deux. Et dans ce cas y a t il une "bonne manière" de faire cela ?.
merci
fabrice
fabrice
Hello nicolas.
Je viens d'essayer, cela fonctionne parfaitement. a voir si l'usage du signe uniquement en début et/ou fin de la chaine sera confirmé. Sinon peut etre devrais je partir sur une petite procédure de calcul d'occurences.
En tout cas merci beaucoup, je garde l'astuce dans un coin. fabrice
"nicolas franchet" a écrit dans le message de news: ddv8pv$dej$
([a-zA-Z0-9/,.-?]{3,20})([*]{0,1}) et qqchose comme ca ? mais ca implique que le * est a la fin de la chaine obligatoirement
fabrice a écrit :
j'ai bien essayé mais cela ne donne rien.
fab
"Jean-François Borie" a écrit dans le message de news:
après le *[0,2] essaye
"fabrice" a écrit :
Bonjour à tous.
Je suis exposé à un petit problème de controle d'une saisie d'un champ texte dans un formulaire. L'objet étant simple, entrer une chaîne alpha-numérique en vue d'une recherche dans une base de données.
Je suis en VB.NET.
Sur le Control TextBox j'ai attaché deux Controles de validation notamment pour éviter le SQL Injection. Un ASP:RequiredFieldValidator Un ASP:RegularExpressionValidator
Voici mon expression régulière ValidationExpression="^[a-zA-Z 0-9*/,.-?]{3,20}". J'autorise les lettres, les chifres et les caractères suivants * / , . - ? et je limite entre 3 et 20 caractères. Je précise que je ne suis pas spécialiste de ces expressions.
Mon problème est le suisvant. J'autorise le signe * pour les troncatures. Si je mets au moins 3 caractères c'est pour éviter que l'utilisateur ramène tous les enregistrements de la base. Mais comment éviter qu'un petit malin envoit la chaine suivante *** et alors bingo il ramène tous puisque le signe * est traité comme le sgne de troncature SQL.
J'ai envisagé la solution après que la validation de la page, de traiter encore la chaine pour compter les occurences du signe * et de refuser l'execution si j'en ai plus de deux. Et dans ce cas y a t il une "bonne manière" de faire cela ?.
merci
fabrice
Hello nicolas.
Je viens d'essayer, cela fonctionne parfaitement. a voir si l'usage du signe
uniquement en début et/ou fin de la chaine sera confirmé.
Sinon peut etre devrais je partir sur une petite procédure de calcul
d'occurences.
En tout cas merci beaucoup, je garde l'astuce dans un coin.
fabrice
"nicolas franchet" <nfranchet@peterpan_fr.cjb.net> a écrit dans le message
de news: ddv8pv$dej$1@news1.completel.net...
([a-zA-Z0-9/,.-?]{3,20})([*]{0,1})
et qqchose comme ca ? mais ca implique que le * est a la fin de la chaine
obligatoirement
fabrice a écrit :
j'ai bien essayé mais cela ne donne rien.
fab
"Jean-François Borie" <JeanFranoisBorie@discussions.microsoft.com> a
écrit dans le message de news:
9BF0FECD-A803-4DCC-A491-7FC8C9F1F73C@microsoft.com...
après le *[0,2]
essaye
"fabrice" a écrit :
Bonjour à tous.
Je suis exposé à un petit problème de controle d'une saisie d'un champ
texte
dans un formulaire.
L'objet étant simple, entrer une chaîne alpha-numérique en vue d'une
recherche dans une base de données.
Je suis en VB.NET.
Sur le Control TextBox j'ai attaché deux Controles de validation
notamment
pour éviter le SQL Injection.
Un ASP:RequiredFieldValidator
Un ASP:RegularExpressionValidator
Voici mon expression régulière ValidationExpression="^[a-zA-Z
0-9*/,.-?]{3,20}".
J'autorise les lettres, les chifres et les caractères suivants * / , . -
?
et je limite entre 3 et 20 caractères. Je précise que je ne suis pas
spécialiste de ces expressions.
Mon problème est le suisvant. J'autorise le signe * pour les
troncatures. Si
je mets au moins 3 caractères c'est pour éviter que l'utilisateur ramène
tous les enregistrements de la base.
Mais comment éviter qu'un petit malin envoit la chaine suivante *** et
alors
bingo il ramène tous puisque le signe * est traité comme le sgne de
troncature SQL.
J'ai envisagé la solution après que la validation de la page, de traiter
encore la chaine pour compter les occurences du signe * et de refuser
l'execution si j'en ai plus de deux.
Et dans ce cas y a t il une "bonne manière" de faire cela ?.
Je viens d'essayer, cela fonctionne parfaitement. a voir si l'usage du signe uniquement en début et/ou fin de la chaine sera confirmé. Sinon peut etre devrais je partir sur une petite procédure de calcul d'occurences.
En tout cas merci beaucoup, je garde l'astuce dans un coin. fabrice
"nicolas franchet" a écrit dans le message de news: ddv8pv$dej$
([a-zA-Z0-9/,.-?]{3,20})([*]{0,1}) et qqchose comme ca ? mais ca implique que le * est a la fin de la chaine obligatoirement
fabrice a écrit :
j'ai bien essayé mais cela ne donne rien.
fab
"Jean-François Borie" a écrit dans le message de news:
après le *[0,2] essaye
"fabrice" a écrit :
Bonjour à tous.
Je suis exposé à un petit problème de controle d'une saisie d'un champ texte dans un formulaire. L'objet étant simple, entrer une chaîne alpha-numérique en vue d'une recherche dans une base de données.
Je suis en VB.NET.
Sur le Control TextBox j'ai attaché deux Controles de validation notamment pour éviter le SQL Injection. Un ASP:RequiredFieldValidator Un ASP:RegularExpressionValidator
Voici mon expression régulière ValidationExpression="^[a-zA-Z 0-9*/,.-?]{3,20}". J'autorise les lettres, les chifres et les caractères suivants * / , . - ? et je limite entre 3 et 20 caractères. Je précise que je ne suis pas spécialiste de ces expressions.
Mon problème est le suisvant. J'autorise le signe * pour les troncatures. Si je mets au moins 3 caractères c'est pour éviter que l'utilisateur ramène tous les enregistrements de la base. Mais comment éviter qu'un petit malin envoit la chaine suivante *** et alors bingo il ramène tous puisque le signe * est traité comme le sgne de troncature SQL.
J'ai envisagé la solution après que la validation de la page, de traiter encore la chaine pour compter les occurences du signe * et de refuser l'execution si j'en ai plus de deux. Et dans ce cas y a t il une "bonne manière" de faire cela ?.