IP Ban
http://www.phphulp.nl/php/scripts/8/466/
Zit hier een fout in zegt IE7:
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.
In dit phpscript: Zit hier een fout in zegt IE7:
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.
$ips moet een array zijn. Hoe kom je aan die variabele?
$ips meot inderdaad een arry zijn dan kan ie het vinden
Hoe wordt de code dan?
Ik heb verschillende combinaties geprobeerd, maar ik heb er niet zoveel verstand van.
Ik snap het echt niet... sorry.
Gewijzigd op 01/01/1970 01:00:00 door Mebus Hackintosh
Weet iemand hoe die hele code eruitgaatzien, want ik kom er niet uit.
Code (php)
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
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);
};
?>
// // // // // // // // // // // // // // // // // //
// (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
mebus schreef op 11.06.2007 16:56:
Zo...
Code (php)
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
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);
};
?>
// // // // // // // // // // // // // // // // // //
// (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)
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
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);
};
?>
// // // // // // // // // // // // // // // // // //
// (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);
};
?>
Djemo schreef op 11.06.2007 17:56:
Zo maak je nog geen array van $ips.
Doe het zo:
mebus schreef op 11.06.2007 16:56:
Zo...
Code (php)
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
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);
};
?>
// // // // // // // // // // // // // // // // // //
// (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)
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
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);
};
?>
// // // // // // // // // // // // // // // // // //
// (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?
@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...
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;
`id` varchar(4) NOT NULL default '0',
`ip` varchar(15) NOT NULL default '',
`datum` varchar(10) NOT NULL default ''
) TYPE=MyISAM;
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
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.
}
?>
$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)
1
2
3
4
5
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
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
Code (php)
1
2
3
4
2
3
4
CREATE TABLE ipban (
ip int unsigned not null,
wanneer datetime not null default '0000-00-00 00:00:00'
);
ip int unsigned not null,
wanneer datetime not null default '0000-00-00 00:00:00'
);
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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();
}
?>
$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: