gebruikersnaam controleren op ongepaste woorden met een array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marco Eilander

Marco Eilander

13/01/2014 10:54:11
Quote Anchor link
Hallo,

Ik heb een array :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$targets = array("geil","kanker","tering","hoer","fuck","hack","!","@","#","$"."%","^","&","*","(",")","_","-");


Ik heb meerdere malen gezocht via google, maar kom alleen uit op filters, die alleen controleren,
als het de volledige naam is.

zoals :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
$your_Word='nine';
$targets = array("four", "eleven", "nine", "six");

if (in_array($your_Word, $targets))
{
    echo "FOUND!!";
}


Hoe kan ik het maken, dat het controleert op deze manier (voorbeeld):

- !piet
- p@trick

En dit ook bij de ongepaste woorden?
 
PHP hulp

PHP hulp

22/12/2024 18:30:23
 
Michael -

Michael -

13/01/2014 10:59:21
Quote Anchor link
Ik zelf gebruik het volgende
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
function contains($str, array $arr)
{

    foreach($arr as $a) {
        if(stripos($str,$a) !== false) { return true; }
    }

    return false;
}


$disallow = Array('admin','root');

if(contains($_POST['username'],$disallow)){
    echo 'Niet toegestaan';
}

?>
 
Joakim Broden

Joakim Broden

13/01/2014 11:00:17
Quote Anchor link
Je zult preg_match moeten gebruiken.

in_array() zoekt niet op gedeeltes maar op complete values. Dus als username !piet of p@trick is zoekt hij in de array ook echt !piet of p@trick. Maar omdat die valuies niet in de array voorkomen worden die dus niet gevonden.
 
Marco Eilander

Marco Eilander

13/01/2014 11:15:56
Quote Anchor link
Bedankt voor de reacties,
Ik zal het vanmiddag uitproberen,
Moet eerst naar mijn werk.
 
Ivo P

Ivo P

13/01/2014 11:24:31
Quote Anchor link
geillustreerd
vandewetering
hack is gewoon een achternaam

Nadeel is, dat je vaak meer uitsluit dan je zelf verwacht.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.