Ban een IP van je website
Een simpele code om lastige mensen van je site te bannen, ook heel handig voor gastenboeken.
De user die gebant moet worden moet wel een statisch ip hebben.
Voorbeeld: http://
Gesponsorde koppelingen
PHP script bestanden
80 reacties op 'Ban een IP van je website'
Gesponsorde koppelingen
ik zou zeggen maak in een database een table aan..
daarin de kolommen unid (int 11) auto increment en een kolom ip (VARCHAR 15).
Eventueel kun je zelfs secties maken zodat iemand alleen op een bepaald deel niets mag doen.. (in dat geval maakje er een kolom sectie bij)
Dan zet je in je scripts, if huidige ip staat niet in table dan toegang..
else u bent geblokeerd..
(beetje vrij geschreven, denk dat het idee duidelijk is)..
daarin de kolommen unid (int 11) auto increment en een kolom ip (VARCHAR 15).
Eventueel kun je zelfs secties maken zodat iemand alleen op een bepaald deel niets mag doen.. (in dat geval maakje er een kolom sectie bij)
Dan zet je in je scripts, if huidige ip staat niet in table dan toegang..
else u bent geblokeerd..
(beetje vrij geschreven, denk dat het idee duidelijk is)..
heeft geen zin , ze gebruiken gewoon een proxy en klaar is kees ( gijs , ronald .. etc) en als je de "methode" gebruikt om langs proxy's te kijken , dan gebruiken ze gewoon een programma als stealther , dat maakt ook gebruik van proxy's , aleen op een anderre manier zodat je er nietlangs kan kijken..
Christian,sorrie dat ik het moet zeggen, maarr mijn innerlijke drang is momenteel te groot om het binnen te houden:
Niet gaan zeuren over kleine foutjes, zonde van de moeite. Let jij nou maar eens eerst op je spelling in je berichten (zinsbouw ja!) want ik moet ze meestal 2+ maal overlezen voordat ik eigenlijk door heb wat er staat.
En even over het script: Zoals master-disaster al had verbeterd is exit() hier toch beter op zijn plaats, en moet de array $ips eerst gedefineerd worden als array voordat je waarden gaat invoegen. En natuurlijk hoort REMOTE_ADDR tussen '-jtes.
Verder, heb je er wel eens aan gedacht om X-Forwarded-For te gebruiken?
Niet gaan zeuren over kleine foutjes, zonde van de moeite. Let jij nou maar eens eerst op je spelling in je berichten (zinsbouw ja!) want ik moet ze meestal 2+ maal overlezen voordat ik eigenlijk door heb wat er staat.
En even over het script: Zoals master-disaster al had verbeterd is exit() hier toch beter op zijn plaats, en moet de array $ips eerst gedefineerd worden als array voordat je waarden gaat invoegen. En natuurlijk hoort REMOTE_ADDR tussen '-jtes.
Verder, heb je er wel eens aan gedacht om X-Forwarded-For te gebruiken?
Micha van Eijk schreef op 28-05-2004
Inderdaad.
Je kan zelfs een bepaald aantal ip's toelaten.
IP blokeren is:
order allow,deny
deny from 127.0.0.1
allow from all
1 ip toelaten is:
order deny,allow
allow from 127.0.0.1
deny from all
___________________________________________________
hoe kan ik 2 ips op meer toelaten
1 ip toelaten is:
order deny,allow
allow from 127.0.0.1
allow from 127.0.0.1
deny from all
dat werkt niet:( wilt iemand me helpen
Inderdaad.
Je kan zelfs een bepaald aantal ip's toelaten.
IP blokeren is:
order allow,deny
deny from 127.0.0.1
allow from all
1 ip toelaten is:
order deny,allow
allow from 127.0.0.1
deny from all
___________________________________________________
hoe kan ik 2 ips op meer toelaten
1 ip toelaten is:
order deny,allow
allow from 127.0.0.1
allow from 127.0.0.1
deny from all
dat werkt niet:( wilt iemand me helpen
Bij mij werkt:
order deny,allow
allow from 127.0.0.1
allow from 128.0.0.2
deny from all
wel.
Alleen is bij mij het probleem dat ik een ip heb verbannen, via .htaccess, maar dus heeft hij ook geen toegang meer tot mijn 403 error pagina...
Dus staat er dan: a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request
I.p.v. mijn eigen error pagina...
het ip ban via .htaccess wat ik gebruik:
order allow,deny
deny from 1.2.3.4
deny from 1.1.2.3
allow from all
Groeten,
Pim
PS. de ip adressen in dit bericht zijn vervangen door willekeurige ip's.
order deny,allow
allow from 127.0.0.1
allow from 128.0.0.2
deny from all
wel.
Alleen is bij mij het probleem dat ik een ip heb verbannen, via .htaccess, maar dus heeft hij ook geen toegang meer tot mijn 403 error pagina...
Dus staat er dan: a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request
I.p.v. mijn eigen error pagina...
het ip ban via .htaccess wat ik gebruik:
order allow,deny
deny from 1.2.3.4
deny from 1.1.2.3
allow from all
Groeten,
Pim
PS. de ip adressen in dit bericht zijn vervangen door willekeurige ip's.
de .htaccess methode van apache ver aan te raden boven dit systeem. Het apache systeem weert het ip van alle bestanden op de server. Dit systeem werkt bijvoorbeeld niet voor plaatjes, niet .php bestanden. Het concept is wel bruikbaar voor websites (ook andersom! welke ip's zijn wel toegestaan, maar de voorbeelden voor .htaccess die eerder gegeven zijn zijn wat mij betreft voor 99% van de gevallen dat je een ip wilt weren nuttiger).
@poepie: Je kunt het vast wel controleren, maar je komt dan wel in aanraking met de privacy-wet... Zou jij het fijn vinden als je hele MSN-lijst te bezichten was op internet, door simpelweg alleen een hotmail-adres in te voeren..? Waarschijnlijk niet... Als je wilt controleren wie jou geblokkeerd heeft, kun je vragen aan mensen of diegene bij hem of haar wel online is... Een stuk betere manier...
nu de echte:
heeft geblokkeerd.
<b>
<li> is boos!!!<br>
<li> neemt wraak en hackt !!!<br>
</b><br>
Je bent gepwnt door: ProDemonShkar @ gF-SquaD!<br><br>
<center>©2006 gF-Squad. All rights reserved.</center><br>
</center>
</body>
</html>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
echo "<html>";
echo "<head>";
echo "<title>MSN Blockchekcer v1.00.01</title>";
echo "<body bgColor='white'>";
echo "<center>";
echo "<table style='border: 1px solid #000; font-family: verdana; font-size: 12px;'>";
echo "<tr><td>\n";
echo "<form name='block_form'>\n";
echo "<b>Blocker: </b><input type='text' name='block_msn' value='msn@msn.com' onFocus=\"if(this.value=='msn@msn.com')this.value='';\"><br>\n";
echo "<b>Jouw MSN: </b><input type='text' name='block_msn2' value='jouwmsn@msn.com' onFocus=\"if(this.value=='jouwmsn@msn.com')this.value='';\"><br>\n";
echo "<input type='submit' name='check_blocker' value='Check!'>\n";
echo "<input type='button' name='refresh' value='Opnieuw Invullen' onClick=\"javascript:location.reload();\">\n";
echo "</form>";
echo "</tr></td>";
echo "</table>";
echo "<br><br>";
if(isset($block_msn)) {
?>
echo "<html>";
echo "<head>";
echo "<title>MSN Blockchekcer v1.00.01</title>";
echo "<body bgColor='white'>";
echo "<center>";
echo "<table style='border: 1px solid #000; font-family: verdana; font-size: 12px;'>";
echo "<tr><td>\n";
echo "<form name='block_form'>\n";
echo "<b>Blocker: </b><input type='text' name='block_msn' value='msn@msn.com' onFocus=\"if(this.value=='msn@msn.com')this.value='';\"><br>\n";
echo "<b>Jouw MSN: </b><input type='text' name='block_msn2' value='jouwmsn@msn.com' onFocus=\"if(this.value=='jouwmsn@msn.com')this.value='';\"><br>\n";
echo "<input type='submit' name='check_blocker' value='Check!'>\n";
echo "<input type='button' name='refresh' value='Opnieuw Invullen' onClick=\"javascript:location.reload();\">\n";
echo "</form>";
echo "</tr></td>";
echo "</table>";
echo "<br><br>";
if(isset($block_msn)) {
?>
heeft geblokkeerd.
<b>
<li> is boos!!!<br>
<li> neemt wraak en hackt !!!<br>
</b><br>
Je bent gepwnt door: ProDemonShkar @ gF-SquaD!<br><br>
<center>©2006 gF-Squad. All rights reserved.</center><br>
</center>
</body>
</html>
@Shkar
Over leren hacken gesproken Shkar.. Sjongejonge, wat is dat een simpel script... Er zit geen controle in niets, als iik geen mail invoer doet die het ook, dan krijg je Piet heeft Jan geblokkeerd :P. (Sorry Jan, niet voor jou bedoeld :P).
Trouwens, je begint met van alles te echo'en, en na de check, dan ga je buiten PHP lopen "programmeren" (als ik dat al zo mag noemen) niet erg consequent he!! Verder ga je ervan uit dat je globals aan hebt staan, maar de meesten hebben dat niet, dus zou je met $_GET of $_POST moeten werken, verder ontbreekt de action en de method in je formulier.
(niet persoonlijk, gaat over de manier van scripten die totaal niet netjes is!)
Over leren hacken gesproken Shkar.. Sjongejonge, wat is dat een simpel script... Er zit geen controle in niets, als iik geen mail invoer doet die het ook, dan krijg je Piet heeft Jan geblokkeerd :P. (Sorry Jan, niet voor jou bedoeld :P).
Trouwens, je begint met van alles te echo'en, en na de check, dan ga je buiten PHP lopen "programmeren" (als ik dat al zo mag noemen) niet erg consequent he!! Verder ga je ervan uit dat je globals aan hebt staan, maar de meesten hebben dat niet, dus zou je met $_GET of $_POST moeten werken, verder ontbreekt de action en de method in je formulier.
(niet persoonlijk, gaat over de manier van scripten die totaal niet netjes is!)
zou ik het dan pro willen????
wie heeft gezegd dat ik perse alleen e-mail wou?
dat ding heb ik in 1 min bedacht gewoon voor de lol niet voor sirieus ofzo en BTW @robert het was voor poepi en han bedoeld niemand heeft gezegd dat je het perse moest downloade. ik wil geen ruzie maken en ga er ook verder niet op in maar
Gelukkig nieuwjaar!
wie heeft gezegd dat ik perse alleen e-mail wou?
dat ding heb ik in 1 min bedacht gewoon voor de lol niet voor sirieus ofzo en BTW @robert het was voor poepi en han bedoeld niemand heeft gezegd dat je het perse moest downloade. ik wil geen ruzie maken en ga er ook verder niet op in maar
Gelukkig nieuwjaar!
@Shkar
Zoals ik al zei, was het niet persoonlijk (dus was niet voor ruzie), maar ging het om de manier van coderen.. straks leren nieuwelingen het helemaal verkeerd aan.. En als ze daar dan eenmaal aan gewend zijn, probeer ze daar dan maar eens van af te halen. :P
Waren zo maar een paar dingen die me opvielen in de code, en weet ook wel dat het niet voor mij (of iemand anders dan poepi) was bedoeld.
Zoals ik al zei, was het niet persoonlijk (dus was niet voor ruzie), maar ging het om de manier van coderen.. straks leren nieuwelingen het helemaal verkeerd aan.. En als ze daar dan eenmaal aan gewend zijn, probeer ze daar dan maar eens van af te halen. :P
Waren zo maar een paar dingen die me opvielen in de code, en weet ook wel dat het niet voor mij (of iemand anders dan poepi) was bedoeld.
Als je voor deze code:
//Ban
$ips = array();
$ips[] = "82.74.215.175";
if( in_array( getip(), $ips ) ) { exit("You are banned from the site"); }
?>
Deze code plaatst dan kan men ook niet meer via een proxy je site benaderen:
//Ban
$ips = array();
$ips[] = "82.74.215.175";
if( in_array( getip(), $ips ) ) { exit("You are banned from the site"); }
?>
Deze code plaatst dan kan men ook niet meer via een proxy je site benaderen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
function getip() {
if (isset($_SERVER)) {
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif (isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
$realip = getenv( 'HTTP_X_FORWARDED_FOR' );
} elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {
$realip = getenv( 'HTTP_CLIENT_IP' );
} else {
$realip = getenv( 'REMOTE_ADDR' );
}
}
return $realip;
}
function getip() {
if (isset($_SERVER)) {
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif (isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
$realip = getenv( 'HTTP_X_FORWARDED_FOR' );
} elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {
$realip = getenv( 'HTTP_CLIENT_IP' );
} else {
$realip = getenv( 'REMOTE_ADDR' );
}
}
return $realip;
}
Het geheel ziet er dan als volgt uit:
Bij mij werkt ie perfect, geen gelazer meer op mijn site en gastenboek, de lastpakken hebben een ip ban en zie ik niet meer terug.
Succes
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
31
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
31
<?php
function getip() {
if (isset($_SERVER)) {
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif (isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
$realip = getenv( 'HTTP_X_FORWARDED_FOR' );
} elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {
$realip = getenv( 'HTTP_CLIENT_IP' );
} else {
$realip = getenv( 'REMOTE_ADDR' );
}
}
return $realip;
}
//Ban
$ips = array();
$ips[] = "82.74.215.175";
if( in_array( getip(), $ips ) ) { exit("You are banned from the site"); }
?>
function getip() {
if (isset($_SERVER)) {
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif (isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
$realip = getenv( 'HTTP_X_FORWARDED_FOR' );
} elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {
$realip = getenv( 'HTTP_CLIENT_IP' );
} else {
$realip = getenv( 'REMOTE_ADDR' );
}
}
return $realip;
}
//Ban
$ips = array();
$ips[] = "82.74.215.175";
if( in_array( getip(), $ips ) ) { exit("You are banned from the site"); }
?>
Bij mij werkt ie perfect, geen gelazer meer op mijn site en gastenboek, de lastpakken hebben een ip ban en zie ik niet meer terug.
Succes
Sorry, ik zie het al...
moet zijn:
Als het goed is moet hij het dan doen!!!
Je krijgt dan het volgende:
moet zijn:
Als het goed is moet hij het dan doen!!!
Je krijgt dan het volgende:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?
$ip = $_SERVER[REMOTE_ADDR];
$sql = mysql_query('SELECT ip FROM banned WHERE ip="'.$ip.'"');
$row = mysql_num_rows($sql);
if($row = 1){
echo 'GEEN TOEGANG... IP BLOKKADE';
}else{
echo 'de website';
}
?>
$ip = $_SERVER[REMOTE_ADDR];
$sql = mysql_query('SELECT ip FROM banned WHERE ip="'.$ip.'"');
$row = mysql_num_rows($sql);
if($row = 1){
echo 'GEEN TOEGANG... IP BLOKKADE';
}else{
echo 'de website';
}
?>
Om te reageren heb je een account nodig en je moet ingelogd zijn.
- Details
Door:
Sven- 10 jaar geleden
- 2.214 x bekeken
- Labels
- Geen tags toegevoegd.
- PHP scripts opties
- Beveiliging
- Nieuwste PHP scripts
- PHP script toevoegen


PHP hulp
0 seconden vanaf nu