login  Naam:   Wachtwoord: 
Registreer je!
 Forum

if( $visitor_ip == willekeurig resultaat van database) (Opgelost)

Offline Waflix - 27/11/2011 13:03
Avatar van WaflixLid Zoals je in dit topic hebt kunnen lezen, ben ik bezig met een blacklistsysteem. Het invoeren van de IP adressen is gelukt, met hulp van Giant en RdR. Nu is het probleem het eigenlijk verbannen van de IP adressen. Wat ik eerst probeerde, was dit:

  1. <?php
  2. require_once("connect.php");
  3. $config_res_black_ip = mysql_query("SELECT * FROM list");
  4. $config_row_black_ip = mysql_fetch_array($config_res_black_ip);
  5.  
  6. $config_black_ip = $config_row_black_ip['ip'];
  7.  
  8. // Checking of IP is on blacklist. If yes, redirect to ban.php
  9. $visitor_ip = $_SERVER['REMOTE_ADDR'];
  10. if( $visitor_ip == $config_black_ip) {
  11. header('Location: ban.php');
  12. }
  13. ?>


Misschien zie je dat er een regel mist, namelijk 'ob_start();'. Dit is omdat deze regel in andere pagina's die deze pagina includen wordt gebruikt.

Het probleem met de bovenstaande code is dat alleen het nieuwste resultaat wordt gebruikt. Dus als ik eerst 123 invoer, en daarna 321, dan heeft 123 toegang, en 321 niet. En als ik dan weer 213 invoer, heeft alleen 213 geen toegang, maar 123 en 321 wel, en... etc.

Hoe zorg ik ervoor dat de pagina controleert of het IP adres van de bezoeker gelijk is aan een willekeurig resultaat uit de database?

4 antwoorden

Gesponsorde links
Offline vinTage - 27/11/2011 13:06 (laatste wijziging 27/11/2011 13:06)
Avatar van vinTage Nieuw lid
  1. if(mysql_num_rows(mysql_query("select ip from list where ip = '".$_SERVER['REMOTE_ADDR']."'")) > 0)
  2. {
  3. //gebanned
  4. }
Offline Waflix - 27/11/2011 13:08
Avatar van Waflix Lid Ja. Ik voel me stom. Ik had de oplossing binnen 2 minuten... Waarom post ik het. Ik post het, en daarna zoek ik het op. Ik zal voortaan eerst onderzoek doen, en als ik het DAN niet kan vinden, post ik het.

Mijn code:
  1. <?php
  2. require_once("connect.php");
  3. $visitor_ip = $_SERVER['REMOTE_ADDR'];
  4.  
  5. $config_res_black_ip = mysql_query("SELECT * FROM list WHERE ip='".$visitor_ip."'");
  6. $config_row_black_ip = mysql_fetch_array($config_res_black_ip);
  7.  
  8. $config_black_ip = $config_row_black_ip['ip'];
  9.  
  10. // Checking of IP is on blacklist. If yes, redirect to ban.php
  11. if( $visitor_ip == $config_black_ip) {
  12. header('Location: ban.php');
  13. }
  14. ?>
Offline vinTage - 27/11/2011 13:09 (laatste wijziging 27/11/2011 13:10)
Avatar van vinTage Nieuw lid Dan nog is mijn stukje code nogal wat duidelijker denk ik?
Hetzelfde in je vorige topic trouwens..
Offline Waflix - 27/11/2011 13:20
Avatar van Waflix Lid Jouw code is inderdaad wat duidelijker.
Ik zal mijn best doen eerst zo veel mogelijk onderzoek te doen voordat ik post. 
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.183s