Interdire certains mot dans une textbox

WRInaute passionné
Voilà, j'ai créé un tout petit formulaire. Et je souhaite interdire certains mots dans ce formulaire.
Le but de ce formulaire est d'accéder à un espace membre, en tappant <username> ça ouvre http://<username>.monsite.net/
Le problème c'est si l'on rentre un www, cela fait un micro bug vu que c'est en include ou en iframe...

Donc voilà, si possible sans SQL, avec juste un txt à coté ^^
Ou quelquechose dans le genre, je n'ai que 3 mots à bannir...
Sinon, autre solution, autoriser seulement certains champs...
Si quelqu'un a une solution, je prends :p
 
WRInaute accro
ou plus simple, sans fichier extérieur.. la p'tite regex!

Code:
$tableauMotsInterdit = array('www', 'ftp', '***');
if(preg_match($tableauMotsInterdit, $username)){
//condition contient le mot interdit
{
else{
//c'est bon, tu peux autoriser ton action
}

Voilà!
 
WRInaute accro
c'est quand même plus simple avec juste un eregi quand même
Code:
if(eregi("www|ftp|http", $username))
{// suite pas cool}
else
{ // suite c'est cool}
 
WRInaute accro
Chacun son point de vue. Si elle a 50 noms à interdire, le fichier texte sera beaucoup plus simple qu'un eregi qui va prendre 3 lignes.
 
WRInaute accro
C'est ce qu'elle fait rog. Mais dans ce cas là, comment fais-tu avec une personne dont l'username est "www" ? :)
Le problème est le même.
 
WRInaute accro
Oui, mais son problème était de filtrer justement. Peu importe l'endroit ou elle le fait :)
Relis le topic depuis le début rog ;)
 
WRInaute accro
Comme si je m'étais amusé à tester tous les trucs possibles. Tu rajoute un strtolower dans l'username et c'est reglé.

Vous vous prenez la tête pour des broutilles (ou pour essayer de dire que j'ai tord, ce qui semble raté).
 
WRInaute accro
kazhar a dit:
Comme si je m'étais amusé à tester tous les trucs possibles.
Vous vous prenez la tête pour des broutilles (ou pour essayer de dire que j'ai tord, ce qui semble raté).
il n'y a pas besoin de tester, juste de connaitre les limites de certaines fonctions en php.
Je peux aussi passer avec www. ou http://www etc...
 
WRInaute accro
kazhar a dit:
Chacun son point de vue. Si elle a 50 noms à interdire, le fichier texte sera beaucoup plus simple qu'un eregi qui va prendre 3 lignes.

c'est sans compter que preg_match sera 100 fois plus rapide en temps machine pour executer cette opération...
 
WRInaute passionné
moi je n'ai pas dit que tu avais tord

la problematique est d'eviter d'avoir des usernames qui ne peuvent pas se logguer à causes des contraintes d'url

et la question est à quoi servirait la création d'user qui ne peuvent pas se logger

d'où ma conclusion : il faut les filtrer à la création et verifier leur existence au login

pour le filtrage on a 1000 manières différentes et le in_array me parait propre (à verifier si la fonction n'est pas buggée)

rog
 
WRInaute passionné
Bon, en fait en 2 jours, je suis passé outre ce problème, j'ai mis une base de données SQL, tout plein d'Ajax et pas mal de PHP, normalement, ça devrait le faire car il y a une session d'identification...

En passant je n'a réussi à faire marcher aucune de vos 2 soltutions :p
 
Discussions similaires
Haut