IP Ban

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niels van de Poll

Niels van de Poll

11/06/2007 16:11:00
Quote Anchor link
In dit phpscript: http://www.phphulp.nl/php/scripts/8/466/
Zit hier een fout in zegt IE7:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if( in_array( $_SERVER[REMOTE_ADDR], $ips )){


Dit is de foutmelding: Warning: in_array() [function.in-array]: Wrong datatype for second argument in /****/*****/*******/crdesign.nl/public_html/admin/ipban.php on line 21

De * staat normaal de host enzo, maar ik weet niet als dat gevaarlijk is als ik dat hier post.
 
PHP hulp

PHP hulp

19/04/2024 00:31:43
 
Joren de Wit

Joren de Wit

11/06/2007 16:12:00
Quote Anchor link
$ips moet een array zijn. Hoe kom je aan die variabele?
 
Niels van de Poll

Niels van de Poll

11/06/2007 16:14:00
Quote Anchor link
Zo stond het in dit script: http://www.phphulp.nl/php/scripts/8/466/
 
Remco

Remco

11/06/2007 16:15:00
Quote Anchor link
$ips meot inderdaad een arry zijn dan kan ie het vinden
 
Niels van de Poll

Niels van de Poll

11/06/2007 16:16:00
Quote Anchor link
Hoe wordt de code dan?
 
Niels van de Poll

Niels van de Poll

11/06/2007 16:22:00
Quote Anchor link
Ik heb verschillende combinaties geprobeerd, maar ik heb er niet zoveel verstand van.
 
Mebus  Hackintosh

Mebus Hackintosh

11/06/2007 16:23:00
Quote Anchor link
$ips = array('ip1', 'ip2'); dat is een array... Zie ook array
 
Niels van de Poll

Niels van de Poll

11/06/2007 16:32:00
Quote Anchor link
Ik snap het echt niet... sorry.
 
Mebus  Hackintosh

Mebus Hackintosh

11/06/2007 16:51:00
Quote Anchor link
moet je lezen... En geduld hebben.
Gewijzigd op 01/01/1970 01:00:00 door Mebus Hackintosh
 
Niels van de Poll

Niels van de Poll

11/06/2007 16:52:00
Quote Anchor link
Weet iemand hoe die hele code eruitgaatzien, want ik kom er niet uit.
 
Mebus  Hackintosh

Mebus Hackintosh

11/06/2007 16:56:00
Quote Anchor link
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
// // // // // // // // // // // // // // // // // //
// (c) Stefan Verkerk == www.stefans-log.tk        //
// Met hulp van John Keates == www.johnkeates.com  //
// // // // // // // // // // // // // // // // // //

    
include("config.php");

    if (!@mysql_select_db($dbdb, @mysql_connect($host, $user, $pass)))
    {

        echo "Database connectie mislukt!";
        
        echo "Probeer deze pagina te vernieuwen. Blijft dit probleem bestaan, mail dan naar de webmaster via ";
    }

    
mysql_connect("$host","$user","$pass");
mysql_select_db("$db");

$select="SELECT * FROM ipban";
$query = mysql_query($select);
while ($list = mysql_fetch_object($query)) {
$ips[] = "$list->ip";
}


if(is_array($ips) && in_array( $_SERVER[REMOTE_ADDR], $ips )){
exit($bannedtext);
};


?>


Zo...
Gewijzigd op 01/01/1970 01:00:00 door Mebus Hackintosh
 
Jesper Diovo

Jesper Diovo

11/06/2007 17:56:00
Quote Anchor link
mebus schreef op 11.06.2007 16:56:
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
// // // // // // // // // // // // // // // // // //
// (c) Stefan Verkerk == www.stefans-log.tk        //
// Met hulp van John Keates == www.johnkeates.com  //
// // // // // // // // // // // // // // // // // //

    
include("config.php");

    if (!@mysql_select_db($dbdb, @mysql_connect($host, $user, $pass)))
    {

        echo "Database connectie mislukt!";
        
        echo "Probeer deze pagina te vernieuwen. Blijft dit probleem bestaan, mail dan naar de webmaster via ";
    }

    
mysql_connect("$host","$user","$pass");
mysql_select_db("$db");

$select="SELECT * FROM ipban";
$query = mysql_query($select);
while ($list = mysql_fetch_object($query)) {
$ips[] = "$list->ip";
}


if(is_array($ips) && in_array( $_SERVER[REMOTE_ADDR], $ips )){
exit($bannedtext);
};


?>


Zo...


Zo maak je nog geen array van $ips.

Doe het zo:
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
// // // // // // // // // // // // // // // // // //
// (c) Stefan Verkerk == www.stefans-log.tk        //
// Met hulp van John Keates == www.johnkeates.com  //
// // // // // // // // // // // // // // // // // //

    
include("config.php");

    if (!@mysql_select_db($dbdb, @mysql_connect($host, $user, $pass)))
    {

        echo "Database connectie mislukt!";
        
        echo "Probeer deze pagina te vernieuwen. Blijft dit probleem bestaan, mail dan naar de webmaster via ";
    }

    
mysql_connect("$host","$user","$pass");
mysql_select_db("$db");
$ips = array();

$select="SELECT * FROM ipban";
$query = mysql_query($select);
while ($list = mysql_fetch_object($query)) {
$ips[] = "$list->ip";
}


if(is_array($ips) && in_array( $_SERVER[REMOTE_ADDR], $ips )){
exit($bannedtext);
};


?>
 
Wessel Johnson

Wessel Johnson

11/06/2007 18:27:00
Quote Anchor link
Djemo schreef op 11.06.2007 17:56:
mebus schreef op 11.06.2007 16:56:
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
// // // // // // // // // // // // // // // // // //
// (c) Stefan Verkerk == www.stefans-log.tk        //
// Met hulp van John Keates == www.johnkeates.com  //
// // // // // // // // // // // // // // // // // //

    
include("config.php");

    if (!@mysql_select_db($dbdb, @mysql_connect($host, $user, $pass)))
    {

        echo "Database connectie mislukt!";
        
        echo "Probeer deze pagina te vernieuwen. Blijft dit probleem bestaan, mail dan naar de webmaster via ";
    }

    
mysql_connect("$host","$user","$pass");
mysql_select_db("$db");

$select="SELECT * FROM ipban";
$query = mysql_query($select);
while ($list = mysql_fetch_object($query)) {
$ips[] = "$list->ip";
}


if(is_array($ips) && in_array( $_SERVER[REMOTE_ADDR], $ips )){
exit($bannedtext);
};


?>


Zo...


Zo maak je nog geen array van $ips.

Doe het zo:
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
// // // // // // // // // // // // // // // // // //
// (c) Stefan Verkerk == www.stefans-log.tk        //
// Met hulp van John Keates == www.johnkeates.com  //
// // // // // // // // // // // // // // // // // //

    
include("config.php");

    if (!@mysql_select_db($dbdb, @mysql_connect($host, $user, $pass)))
    {

        echo "Database connectie mislukt!";
        
        echo "Probeer deze pagina te vernieuwen. Blijft dit probleem bestaan, mail dan naar de webmaster via ";
    }

    
mysql_connect("$host","$user","$pass");
mysql_select_db("$db");
$ips = array();

$select="SELECT * FROM ipban";
$query = mysql_query($select);
while ($list = mysql_fetch_object($query)) {
$ips[] = "$list->ip";
}


if(is_array($ips) && in_array( $_SERVER[REMOTE_ADDR], $ips )){
exit($bannedtext);
};


?>


Moet $_SERVER[REMOTE_ADDR] geen $_SERVER['REMOTE_ADDR'] zijn?
 
Mebus  Hackintosh

Mebus Hackintosh

11/06/2007 19:09:00
Quote Anchor link
Ik had het hem al gezegt op msn dat het script niet helemaal duigt en dat $_SERVER[REMOTE_ADDR] inderdaad eigenlijk zo hoort: $_SERVER['REMOTE_ADDR'];

@Djemo, ga het mij nu niet kwalijk nemen dat ik eerst $ips als een array toe hoor te kennen dit doe ik zelf namelijk wel en was gewoon een grote fout van de maker van het script... Dat was het dan ook dat niels deze error kreeg. Ik zelf heb namelijk geen zin om al die fouten der uit te halen en gaf hem een oplossing voor zijn probleem.

Verder is het eigenlijk altijd beter om te kijken of $ips wel een array is... En zijn onze oplossing ook bijde goed...
 
Thijs X

Thijs X

11/06/2007 19:20:00
Quote Anchor link
Offtopic:


Als je naar dat script kijkt en je ziet het database model dan weet je gelijk dat je dat script niet hoeft te gaan gebruiken

Quote:
CREATE TABLE `ipban` (
`id` varchar(4) NOT NULL default '0',
`ip` varchar(15) NOT NULL default '',
`datum` varchar(10) NOT NULL default ''
) TYPE=MyISAM;
 
Mebus  Hackintosh

Mebus Hackintosh

11/06/2007 19:35:00
Quote Anchor link
Zo zouw ik mijn tabel ipban gemaakt hebben:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
CREATE TABLE ipban (
    ip            int unsigned        not null,
    wanneer            datetime        not null        default '0000-00-00 00:00:00'
);
 
Niek s

niek s

11/06/2007 20:29:00
Quote Anchor link
Damn! doe nie moeilijk man :P

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
    $sql
= "SELECT reason FROM bans WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
    $res = mysql_query($sql);
    if($res) {
        if(mysql_num_rows($res) > 0) {
            echo 'Je bent gebanned. Dat is dus best kut voor je!<br />Dit is de reden:<br />'.mysql_result($res,0);
            die(); //val dood
        }
    }
else {
        // bepaal zelf maar wa je als fout afhandeling doe, ik kauw op kauwgom, ik kauw niet voor.
    }
?>


Dat is het simpelste wa je dan kan doen!
De MySQL tabel kan je dan natuurlijk zelf nog in elkaar flanzen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
CREATE TABLE bans (
    id INT(5) NOT NULL PRIMARY KEY AUTO_INCREMENT,
    ip VARCHAR(50) NOT NULL,
    reason TEXT NOT NULL
) TYPE=InnoDB

(allemaal niet getest, kunnen wat typo's inzitten. Ik ben lui dus ik haal de typo's er nie uit. Daarvoor meot je Boris A.K.A. "Kip" maar vragen.
Gewijzigd op 01/01/1970 01:00:00 door niek s
 
Mebus  Hackintosh

Mebus Hackintosh

11/06/2007 21:01:00
Quote Anchor link
Mijn script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
CREATE TABLE ipban (
    ip        int unsigned        not null,
    wanneer        datetime        not null    default '0000-00-00 00:00:00'
);


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
16
17
18
19
<?php

$sql_a
= mysql_query("SELECT COUNT(*) FROM ipban WHERE ip = INET_ATON('".$_SERVER['REMOTE_ADDR']."')");

if(!mysql_error()) {

    if(mysql_result($sql_a, 0) >= 1) {

        die('Je bent verbannen van deze website.');

    }

}
else {

    echo mysql_error();

}


?>


invoeg query:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
INSERT INTO ipban SET ip = INET_ATON('".$_SERVER['REMOTE_ADDR']."'), wanneer = now()
 



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.