[IPBlock] Wat is het beste ?

Pagina: 1
Acties:

  • X-G
  • Registratie: Mei 2002
  • Laatst online: 30-07-2024
Ik zit de laatste tijd een beetje te kijken voor wat meer security voor een bepaalde community. Nu ben ik op het idee gekomen om -ieder- IP te blocken, behalve die van de aangemelde accounts (we slaan de IP's van alle gebruikers op).

Nu lees ik dat dit makkelijk kan via een .htaccess file. Iets in de trant van:

code:
1
2
3
4
5
6
7
8
9
10
AuthName "Lee's Secret Area"
AuthType Basic 
<Limit GET POST>
order deny,allow
deny from all
allow from 199.166.210.
allow from .golden.net
allow from proxy.aol.com
allow from fish.wiretap.net
</Limit>


Allemaal leuk en aardig, maar we hebben tegen de 10.000 gebruikers en zijn groeiende (snel ook). Nu wil ik eigenlijk voorkomen dat ik voor iedereen die zich nieuw wil aanmelden (doen we middels invitatiesysteem) de .htaccess file moet gaan aanpassen. Maar nu lees ik nét van de Apache site dat .htaccess (eignelijk) niet bedoeld is voor dit soort dingen. Dus ik wil jullie vragen wat een betere oplossing voor dit probleem zou zijn.

Tevens zou ik het leuk vinden als het mogeljik was om de ip adressen middels een PHP scriptje aan die 'IP-database' toe te voegen (zodat ik deze in de staff tools van de site kan verwerken).

ToyzBuilder YouTube - Gratis Bitcoin Verdienen


  • BARO
  • Registratie: Mei 2003
  • Laatst online: 18-11-2025
Met PHP kun je bestanden op je server wegschrijven.

Het lijkt mij erg onhandig om IP-adressen op te slaan, omdat mensen een wisselend IP kunnen hebben, op verschillende pc's inloggen op de site en/of af en toe wisselen van IP.

PHP i.c.m. MySQL -> IP's naar database wegschrijven ( INSERT INTO ips () VALUES () ).

[ Voor 15% gewijzigd door BARO op 11-07-2006 03:44 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 11-02 14:19

André

Analytics dude

PHP -> Programming ;)

  • Depress
  • Registratie: Mei 2005
  • Laatst online: 12-02 13:20
Waarom naar een .htaccess wegschrijven?

PHP kent daar een prima oplossing voor.

PHP:
1
2
3
4
5
6
7
8
9
10
11
$ips = array();

$q = mysql_query( "SELECT * FROM ips" );

while( $f = mysql_fetch_query($q) ){
   $ips[] = $f['ip'];
}

if (!in_array( $_SERVER['REMOTE_ADDR'] , $ips) ){
   echo 'Je bent geen lid, wacht op een uitnodiging!';
}


Let op, untested, maar you get the point...

  • ReverendBizarre
  • Registratie: December 2001
  • Laatst online: 24-03-2021
Beetje overdreven en onhandige beveiligingsmanier als je het mij vraagt...

Ik weet niet waar het precies voor bedoeld is, maar dit betekent dus zoals iemand eerder al aangaf dat gebruikers met dynamische IP adressen een probleem hebben en iemand dus alleen vanaf zijn eigen PC kan inloggen. Tenzij je zulke enorm brakke scripts op je server loopt te draaien dat beveiliging zo extreem moet zijn dat verder niemand bij de site mag komen lijkt me dit echt een onhandige manier om authorisatie te implementeren.

  • bakkerl
  • Registratie: Augustus 2001
  • Laatst online: 20-01 20:59

bakkerl

Let there be light.

En zoals in de openingspost staat:
allow from proxy.aol.com
Daar heb je dus meer dan alleen je leden van de community. Er hoeven nog maar een paar mensen via een proxy te zitten en je heb de 1/2e wereld die er weer bij kan.

  • foske
  • Registratie: Juli 2001
  • Laatst online: 01:42
Depress schreef op dinsdag 11 juli 2006 @ 09:33:
Waarom naar een .htaccess wegschrijven?

PHP kent daar een prima oplossing voor.

PHP:
1
2
3
4
5
6
7
8
9
10
11
$ips = array();

$q = mysql_query( "SELECT * FROM ips" );

while( $f = mysql_fetch_query($q) ){
   $ips[] = $f['ip'];
}

if (!in_array( $_SERVER['REMOTE_ADDR'] , $ips) ){
   echo 'Je bent geen lid, wacht op een uitnodiging!';
}


Let op, untested, maar you get the point...
Hoewel ik me afvraag of beveiliging op ip basis in dit geval een goede oplossing is, even wat over dit stukje code, mocht je toch willen gebruiken.

Waarom haal je hierbij eerst alle records op, en ga je daarna vergelijken of de ip ertussen zit. MySQL is een database en is juist gemaakt voor dit soort dingen.

gebruik dan ipv

code:
1
2
3
4
SELECT * FROM ips' 

//deze
SELECT * FROM ips WHERE ip = $ip


vele malen sneller en dat wilde ik je toch niet ontnemen ;)

  • 4VAlien
  • Registratie: November 2000
  • Laatst online: 15-02 16:07

4VAlien

Intarweb!

Wat is er precies niet goed aan het user/wachtwoord systeem dat je dit soort methoden nodig hebt?

  • KoHa
  • Registratie: Juli 2004
  • Laatst online: 12-02 16:29
Zoals ik het hier lees, heeft iedere gebruiker een eigen gebruikersnaam en wachtwoord... Is het dan niet gewoon simpeler om direct als je op de pagina komt te vragen om de gebruikersnaam en wachtwoord en anders gewoon de toegang te weigeren...

Zoals hierboven al is gezegd is een beveiliging op basis van IP niet echt handig, tenzij je zeker weet dat niemand een wisselend IP heeft of weet dat deze in een bepaalde IP-range valt...

  • Thralas
  • Registratie: December 2002
  • Laatst online: 23:57
Je kunt Apache ook de IPs laten ophalen uit een MySQL DB. Hiervoor moet je wel extra Apache modules laden, wat waarschijnlijk niet mogelijk is tenzij je de server zelf beheert.

http://www.linuxhelp.net/guides/htaccessmysql/
Pagina: 1