Brugernavn:




Kodeord: Husk
Forside Forum Artikler Downloads Søg
 

IP BAN

Hej. Har lidt problemer med et IP BAN på et fansite jeg er i gang med.

min kode:

<?php
include ("config.php");

$ip = $_SERVER['REMOTE_ADDR'];

$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `banned` WHERE `ip` = '$ip'"), 0);

if($count >= 1){

$b_query = mysql_query("SELECT * FROM `banned` WHERE `ip` = '$ip'");

$b_row = mysql_fetch_assoc($b_query);

$b_text = "<center><font color=\"red\">Du er blevet banned fra siden, det skyldes <u>" . $b_row['grund'] . "</u></font></center>";

exit($b_text);

}

?>

Er denne kode rigtig? Og hvis den er, hvordan banner jeg så en person via ip eller hvad det er? En der kan hjælpe hurtig ? :)
Oprettet af:

PHP

Fri debat

Åben
21:19 07/09/2010
Hvis du selv har lavet koden, så burde det vel ikke være noget problem at finde ud af?
Oprettet af:

Kommentar
21:28 07/09/2010
Har ikke lavet koden =D og jeg forstår bare ikke det hele ved det ip ban hvordan man banner ...
Oprettet af:

Kommentar
21:34 07/09/2010
hvorfor vil du tælle om ipen har været der? hvorfor bare ikke tjekke om ipen er i databasen?

  1. $query = mysql("SELECT * FROM banned WHERE ip = $ip");
  2. $row = mysql_fetch_array($query);
  3. if($ip == $row[ip]){
  4. echo "Du er bannede pga.".$row[grund];
  5. }
  6. exit();

Tror det vil virke.. er ikke sikker.. men prøv
Sidst redigeret 21:38 07/09/2010
Oprettet af:

Kommentar
21:36 07/09/2010
Kender du programmet teamviewer. Kan du ikke komme over det og tjekke, fordi kan simpelthen ikke få det til at virke... ;S
Oprettet af:

Kommentar
21:42 07/09/2010
Du har en tabel der hedder banned med en felt der hedder ip.
Så ser du bare om der er en felt i tabellen som har samme ip som brugeren ($_SERVER['REMOTE_ADDR'];), hvis den har, så echo din tekst og slut af med en exit();
Sværere er det ikke.
Oprettet af:

Kommentar
21:48 07/09/2010
fanq skrev kl. 21:42 d. 07/09/2010
Kender du programmet teamviewer. Kan du ikke komme over det og tjekke, fordi kan simpelthen ikke få det til at virke... ;S


jo kan ejg godt..

add mig på msn så udveksler vi lige info
msn@serverin.dk
Oprettet af:

Kommentar
21:49 07/09/2010
Ikke for at værre irriterende eller dum. Men fatter faktisk ikke :/ .... Kan du vise på Teamviewer? ;s
Oprettet af:

Kommentar
21:49 07/09/2010
Hvorfor ikke her?
Oprettet af:

Kommentar
21:50 07/09/2010
Fatter ikke over tekst..
Oprettet af:

Kommentar
21:54 07/09/2010
  1. <?php
  2. include ("config.php");

  3. $ip = $_SERVER['REMOTE_ADDR'];
  4. $query = mysql("SELECT * FROM banned WHERE ip = '$ip'");
  5. $row = mysql_fetch_array($query);
  6. if($ip == $row[ip]){
  7. echo "Du er bannede pga.".$row[grund];
  8. exit;
  9. }
  10. ?>
byggede lidt vidre på serverin's eksempel =)
Sidst redigeret 22:06 07/09/2010
Oprettet af:

Kommentar
21:59 07/09/2010
Får: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\33\tjek.php on line
Oprettet af:

Kommentar
22:01 07/09/2010
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\33\tjek.php on line 6
Oprettet af:

Kommentar
22:02 07/09/2010
  1. <?php
  2. include ("config.php");

  3. $ip = $_SERVER['REMOTE_ADDR'];
  4. if (mysql_num_rows(mysql_query("SELECT * FROM banned WHERE `ip` = '$ip'")) == 1) {
  5. echo "Du er banned";
  6. exit;
  7. }
  8. ?>
Dette burde virke... (ikke sikker)
Sidst redigeret 22:10 07/09/2010
Oprettet af:

Kommentar
22:08 07/09/2010
Okay hvordan banner jeg så en :D?
Oprettet af:

Kommentar
22:10 07/09/2010
Skrive den ip ind i den tabel
Oprettet af:

Kommentar
22:11 07/09/2010
fanq skrev kl. 22:10 d. 07/09/2010
Okay hvordan banner jeg så en :D?
indsætter deres ip i databasen? (i tabellen banned, og du indsætter ip i feltet ip...)
Oprettet af:

Kommentar
22:12 07/09/2010
Hvor? =D
Oprettet af:

Kommentar
22:12 07/09/2010
Wow. Jeg kunne selv finde hvor uden hjælp!

brugernavn skrev kl. 22:12 d. 07/09/2010
fanq skrev kl. 22:10 d. 07/09/2010
Okay hvordan banner jeg så en :D?
indsætter deres ip i databasen? (i tabellen banned, og du indsætter ip i feltet ip...)
Oprettet af:

Kommentar
22:13 07/09/2010
En tabel ved navn banned og et felt som hedder ip
Oprettet af:

Kommentar
22:14 07/09/2010
Fanq hvis du skal bruge min hjælp så add min på msn, og self. kender jeg til teamviewer.. eller ville det tag to sec at installere..
Oprettet af:

Kommentar
22:15 07/09/2010
du kan også bare bruge denne form:
  1. <?php
  2. include ("config.php");          

  3. $ip = $_POST[ip];
  4. $ip = strip_tags($ip);
  5. $ip = mysql_real_escape_string($ip);
  6.       
  7. mysql_query("INSERT INTO banned (`ip`) VALUES ('$ip'");
  8. echo "ip er nu banned";
  9. }
  10. ?>
  11. <form method="post">
  12. Indsæt ip: <input type="text" name="ip"><br>
  13. <input type="submit" name="ban">
  14. </form>

ikke testet
Oprettet af:

Kommentar
22:17 07/09/2010
Tror

  1. CREATE TABLE `banned` (
  2.   `ip` text NOT NULL
  3. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Sådan
Oprettet af:

Kommentar
22:20 07/09/2010
Wow. Har lige lært og lave en tabel
Oprettet af:

Kommentar
22:22 07/09/2010
Sig lige hvis det virker
Oprettet af:

Kommentar
22:36 07/09/2010
rene3800d skrev kl. 22:22 d. 07/09/2010
Wow. Har lige lært og lave en tabel
Rene må jeg spørge hvad den kommentar skal til for?
Oprettet af:

Kommentar
23:24 07/09/2010
brugernavn skrev kl. 22:17 d. 07/09/2010
du kan også bare bruge denne form:
  1. <?php
  2. include ("config.php");          

  3. $ip = $_POST[ip];
  4. $ip = strip_tags($ip);
  5. $ip = mysql_real_escape_string($ip);
  6.       
  7. mysql_query("INSERT INTO banned (`ip`) VALUES ('$ip'");
  8. echo "ip er nu banned";
  9. }
  10. ?>
  11. <form method="post">
  12. Indsæt ip: <input type="text" name="ip"><br>
  13. <input type="submit" name="ban">
  14. </form>

ikke testet

Af hvad jeg kan se der, er der en fejl ;-].
Oprettet af:

Kommentar
13:57 08/09/2010
Her er en kode med forklaring:

  1. <?php
  2.     include("config.php") // Inkludere dine indstillinger (- og database)

  3.     $ip = $_SERVER['REMOTE_ADDR']; // Sætter en variabal med IP-adressen på besøgende.

  4.     $getBans = mysql_query ("SELECT COUNT(ip) AS banned FROM `banned` WHERE ip = '$ip', 0") or die(mysql_error()); // Henter de bannede brugere og tæller dem

  5.         if($banned >= 0) // Hvis ip-adressen er fundet så;
  6.         {
  7.         
  8.             $ifBanned = mysql_query ("SELECT * FROM `banned` WHERE `ip` = '$ip'") or die(mysql_error()); // Henter informationerne om ban-grund

  9.                 $showBanned = mysql_fetch_array($ifBanned); // Laver en variabel som udskriver informationerne om den bannede bruger

  10.                     // Dette udskriver grundlaget for ban.

  11.                     echo "<center> <font color=\"red\">Du er blevet udelukket fra vores site. <br />";
  12.                     echo "Denne grund er afgivet for dit ban: <br /> <br />"

  13.                     echo "$showBanned[grund]";

  14.                     echo "</font></center>";

  15.                 exit(); // Lukker alt andet!

  16.         }

  17. ?>    

Når du skal banne en bruger, så brug denne form:

  1. <?php

  2.     include ("config.php");

  3.     if(isset($_POST[banuser]))
  4.     {

  5.         $ip = striptags(mysql_real_escape_string($_POST[ip));
  6.         $grund = mysql_real_escape_string($_POST[grund]);

  7.         mysql_query("INSERT INTO `banned` (ip, grund) VALUES ('$ip','$grund')") or die(mysql_error());
  8.             
  9.         echo "$ip er nu banned med flg. grundlag $grund";

  10.     }

  11. ?>

  12. <form action="" method="POST" name="banuser">


  13.     IP-adresse der skal udelukkes:<br>
  14.     <input type="text" name="ip" /><br><br>
  15.     
  16.     Grundlag for udelukkelse:<br>
  17.     <textarea name="grund" rows="25" cols="25"></textarea>
  18.     <br><br>

  19.     <input type="submit" name="banuser" value="Tilføj udelukkelse!" />

  20. </form>

Din database skal indeholde:

eventuel id med auto_increment (primary_key)
ip varcher(255)
grund (mediumtext)
Sidst redigeret 14:12 08/09/2010
Oprettet af:

Kommentar
14:10 08/09/2010
.....
Sidst redigeret 14:44 08/09/2010 af Rowl
Oprettet af:

Kommentar
14:29 08/09/2010
Du skal være oprettet og logget ind for at svare på en tråd
Copyright © Rowl.dk v/ Michael Raagaard | 2005-12 | Alle rettigheder forbeholdes