ip's bannen via .htaccess

Overzicht Reageren

The Beeding Clown

The Beeding Clown

11/01/2006 15:37:00
Quote Anchor link
Hey mensen is het mogelijk om IP's van je site te bannen doormiddel van een .htaccess ??
 
PHP hulp

PHP hulp

11/08/2022 23:02:26
 
Kalle P

Kalle P

11/01/2006 15:44:00
Quote Anchor link
ja, kijk hier eens voor mee informatie http://www.html-site.nl/wachtwoord3.php
 
The Beeding Clown

The Beeding Clown

11/01/2006 15:49:00
Quote Anchor link
tnx voor je reply maar dat bedoelde ik niet

Het gene waar ik naar opzoek ben is niet iets om een gedeelte van me site beveiligen, maar mensen (spambots in dit geval) hardcore te bannen (redirect naar error page oid)
 
Winston Smith

Winston Smith

11/01/2006 15:51:00
Quote Anchor link
Ja, in een .htaccess:

Order allow,deny
Allow from all
Deny from 82.222.223.223
 
Arjan Kapteijn

Arjan Kapteijn

11/01/2006 15:51:00
Quote Anchor link
Je kan het inderdaad op dat niveau aanpakken.

Je kan ook nog 1 niveau hoger (apache allow/deny), maar persoonlijk zou ik zelfs 1 niveau lager gaan.

Ik zou de ipadressen in een database zetten, en op je site een ipadres opzoeken uit die database. Voordeel hiervan is dat de onderhoudbaarheid vele malen beter is. Immers is het update van een database makkelijker dan een bestand.

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

if(!empty($_SERVER['HTTP_X_FORWARDED']))
{

    $ip = $_SERVER['HTTP_X_FORWARDED'];
}
elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{

    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(!empty($_SERVER['HTTP_CLIENT_IP']))
{

    $ip = $_SERVER['HTTP_CLIENT_IP'];
}
elseif(!empty($_SERVER['HTTP_VIA']))
{

    $ip = $_SERVER['HTTP_VIA'];
}
else{
    $ip = $_SERVER['REMOTE_ADDR'];
}


$query      = "SELECT ip FROM bans WHERE ip = '".$ip."'";
$resultaat     = mysql_query($query) or die(mysql_error());
$aantal        = mysql_num_rows($resultaat);
    
if($aantal >= 1)
{

    echo 'Sorry, we hebben jou ipadres '.ip.' gebanned van onze server!';
    exit;
}


?>
 
The Beeding Clown

The Beeding Clown

11/01/2006 16:04:00
Quote Anchor link
tnx voor de snelle hulp mensen. tis allemaal gelukt :)
 
Winston Smith

Winston Smith

11/01/2006 16:13:00
Quote Anchor link
Arjan:
Je kan het inderdaad op dat niveau aanpakken.

Je kan ook nog 1 niveau hoger (apache allow/deny), maar persoonlijk zou ik zelfs 1 niveau lager gaan.

Ik zou de ipadressen in een database zetten, en op je site een ipadres opzoeken uit die database. Voordeel hiervan is dat de onderhoudbaarheid vele malen beter is. Immers is het update van een database makkelijker dan een bestand.

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

if(!empty($_SERVER['HTTP_X_FORWARDED']))
{

    $ip = $_SERVER['HTTP_X_FORWARDED'];
}
elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{

    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(!empty($_SERVER['HTTP_CLIENT_IP']))
{

    $ip = $_SERVER['HTTP_CLIENT_IP'];
}
elseif(!empty($_SERVER['HTTP_VIA']))
{

    $ip = $_SERVER['HTTP_VIA'];
}
else{
    $ip = $_SERVER['REMOTE_ADDR'];
}


$query      = "SELECT ip FROM bans WHERE ip = '".$ip."'";
$resultaat     = mysql_query($query) or die(mysql_error());
$aantal        = mysql_num_rows($resultaat);
    
if($aantal >= 1)
{

    echo 'Sorry, we hebben jou ipadres '.ip.' gebanned van onze server!';
    exit;
}


?>
Op zich ook handig, maar 2 opmerkingen/vragen:
1) Is het gebruik van .htaccess of direct instellen in httpd.conf niet sneller dan hetgeen jij noemt?

2) Je kan vast ook het .htaccess bestand uitlezen via een phpscriptje (heb ik nog nooit geprobeerd eigenlijk), er weer wijzingen inmaken en het weer opslaan. M.a.w. het maakt op zich (voor de onderhoudbaarheid) niet uit of je de ip's opslaat in een database of direct in de .htaccess?
 
Arjan Kapteijn

Arjan Kapteijn

11/01/2006 16:17:00
Quote Anchor link
Ik weet niet of het handig om een php applicatie rechten te geven om je .htaccess te open of aan te passen.

Daarbij, met een database kan je meer ;).

Ik ben bezig met een systeem voor mijn v2 nieuwsysteem. Je krijgt dan te zien waarom je gebanned bent, door wie, contactformuliertje, voor hoe lang (5 minuten, 15, 30, 1uur, 2, 6 etc) etc etc.

Tevens kan je er gelijk ook een logfunctie inbouwen etc. Mogelijkheden zijn wat groter.

En opzich maakt het qua snelheid niet uit. Immers vraag je uit de database maar 1 rij op, niet alles (zie de where in de sql).
 
Kalle P

Kalle P

11/01/2006 16:40:00
Quote Anchor link
nano:
tnx voor je reply maar dat bedoelde ik niet

Het gene waar ik naar opzoek ben is niet iets om een gedeelte van me site beveiligen, maar mensen (spambots in dit geval) hardcore te bannen (redirect naar error page oid)


Er stond bij hoe je in een .htaccess mensen moet verbannen adv hun ipadres.
 
Winston Smith

Winston Smith

11/01/2006 17:22:00
Quote Anchor link
Quote:
En opzich maakt het qua snelheid niet uit. Immers vraag je uit de database maar 1 rij op, niet alles (zie de where in de sql).
Dat is waar, maar wat ik meer bedoelde was: je gaat al aan de slag met PHP, PHP moet verbinding maken met database, database zoekt uit en stuurt terug, PHP parst en stuurt weer server en server stuurt het weer door naar cliƫnt. Lijkt mij een langere weg dan .htaccess -> geblokkeerd?

Maar toegegeven: voor de rest is jouw systeem mooier :)
 
Arjan Kapteijn

Arjan Kapteijn

11/01/2006 17:25:00
Quote Anchor link
Heb je gelijk in, maar de meeste sites moeten toch al verbinding maken met de database voor de content ;).
 



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.