Avatar billede zib Nybegynder
23. september 2005 - 18:16 Der er 10 kommentarer og
1 løsning

ban ip på tagwall

er der en der gider sætte et ban ip system på min tagwall

der må meget gerne være sådan at det bruger mysql
og at jeg kan styre det online...

session i mit login hvis der er en side kun jeg skal kunne se:
<?
if ($_SESSION['logged_id']==TRUE){
?>

<?
} else {
echo"<br><br><bR><bR><bR><center><font size='3' color='red'>Du har ikke adgang til denne side</font></center>";
}
?>


gb.php

<?
session_start();

    $side = "..";
    require "$side/includes/conf.php";

?>
<strong>Guestbook - <a href="gbwrite.php">write</a></strong><br><br>
<?
if ( isset($_REQUEST['side']) ) {
  $side = $_REQUEST['side'];
} else {
  $side = 0;
}
$alimit = $side * 10;
  $s = 1;
$resultat = mysql_query("select * from cms_gaestebog ORDER BY id desc limit $alimit,10");
$antalsiderresult = mysql_query ("SELECT * FROM cms_gaestebog ORDER BY id DESC");
$antalsider = mysql_num_rows($antalsiderresult) / 10;
$aktuelside = $side + 1;
$i=0;
while ($row = mysql_fetch_array($resultat)) {
  if ($s == 1){
  $bgcolor = "#FFFFFF";
  $s = 0;
  }else{
  $bgcolor = "#CECECE";
  $s = 1;
  }
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0' bgcolor='$bgcolor'>
  <tr>
    <td width='70%' valign='top'>
    <span class='red'>$row[overskrift]</span>
    <br>
    $row[besked]
    </td>
    <td width='30%' valign='top'><table width='100%' border='0' cellspacing='0' cellpadding='0'>
      <tr>
        <td>by $row[navn]</td>
      </tr>
      <tr>
        <td>$row[dato]</td>
      </tr>
    </table></td>
  </tr>
</table><br>";
$i++;
  if($i==6){
  $i=0;
  }//ifsatsen
}//whileloopen
?>
<?
          $x=1;
          $y=1;
          while ($x < $antalsider)
          {
            $x=$x+1;
            $y=$y+1;
          }
          $tilbage=$aktuelside-1;
          if ($tilbage >  0)
          {
            $tilbage=$tilbage-1;
            echo "&nbsp;<a href=gb.php&side=$tilbage>Back</a>";
          }
          echo "&nbsp;Page $aktuelside of $y";
          if (($side+1) < $antalsider)
          {
            echo "&nbsp;<a href=gb.php&side=$aktuelside>Next</a>";
          }
?>


gbwrite.php

<?
session_start();

    $side = "..";
    require "$side/includes/conf.php";

?>
<strong>write in guestbook</strong><br><br>
<?php
   
    if($_GET['write'] == "yes"){

    $dato = date("d.m.Y <br> H:i:s");

    $insertSQL = ("insert into cms_gaestebog (navn, overskrift, dato, besked) values ('$navn', '$overskrift', '$dato', '$besked')");
    mysql_query($insertSQL) or die(mysql_error());
    echo "You have now writet in the guestbook, thx :)";
    }
?>
<form method="post" action="gbwrite.php?write=yes">
<table width="100%" height="" cellpadding="2" cellspacing="0">
<tr>
    <td valign="top">
    <b class="lille">Name:</b>
    </td>
  </tr>
  <tr>
    <td valign="top">
    <input type="text" name="navn" class="form">
    </td>
  </tr>
  <tr>
    <td valign="top">
    <b class="lille">title:</b>
    </td>
  </tr>
  <tr>
    <td valign="top">
    <input type="text" name="overskrift" class="form">
    </td>
  </tr>
  <tr>
    <td valign="top">
    <b class="lille">message:</b>
    </td>
  </tr>
  <tr>
    <td valign="top">
    <textarea name="besked" class="form" style="width:250; height:100;"></textarea>
    </td>
  </tr>
  <tr>
    <td valign="top">
    <input type="submit" value="Write" class="form">
    </td>
  </tr>
  <tr>
    <td valign="top">
    <?php
    echo "<p>$_GET[fejl]</p>";
    ?>
    </td>
  </tr>
</table>
</form>


tagwall-admin.php

<?
session_start();

    $side = "..";
    require "$side/includes/conf.php";

?>


<strong>Skriv i <a href="../insideos/gbwrite.php">Gæstebog</a></strong><br><br>
<?
if($_GET['slet'] == "yes"){
mysql_query("DELETE FROM forum_tagwall WHERE id='$_GET[id]'");
echo "Tagwall Beskeden Er Nu Slettet<br><br>";
}
?>
<?
if ( isset($_REQUEST['side']) ) {
  $side = $_REQUEST['side'];
} else {
  $side = 0;
}
$alimit = $side * 10;
  $s = 1;
$resultat = mysql_query("select * from cms_gaestebog ORDER BY id desc limit $alimit,10");
$antalsiderresult = mysql_query ("SELECT * FROM cms_gaestebog ORDER BY id DESC");
$antalsider = mysql_num_rows($antalsiderresult) / 10;
$aktuelside = $side + 1;
$i=0;
while ($row = mysql_fetch_array($resultat)) {
  if ($s == 1){
  $bgcolor = "#000000";
  $s = 0;
  }else{
  $bgcolor = "";
  $s = 1;
  }
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0' bgcolor='$bgcolor'>
  <tr>
    <td width='70%' valign='top'>
    <span class='red'>$row[overskrift] - (<a href='tagwall-admin.php?slet=yes&id=$row[id]' onClick='return confirm(Sure you want to delete this message?);'>slet</a>)</span>
    <br>
    $row[besked]
    </td>
    <td width='30%' valign='top'><table width='100%' border='0' cellspacing='0' cellpadding='0'>
      <tr>
        <td>by $row[navn]</td>
      </tr>
      <tr>
        <td>$row[dato]</td>
      </tr>
    </table></td>
  </tr>
</table><br>";
$i++;
  if($i==6){
  $i=0;
  }//ifsatsen
}//whileloopen
?>
<?
          $x=1;
          $y=1;
          while ($x < $antalsider)
          {
            $x=$x+1;
            $y=$y+1;
          }
          $tilbage=$aktuelside-1;
          if ($tilbage >  0)
          {
            $tilbage=$tilbage-1;
            echo "&nbsp;<a href=tagwall-admin.php?page=gb&side=$tilbage>Back</a>";
          }
          echo "&nbsp;Page $aktuelside of $y";
          if (($side+1) < $antalsider)
          {
            echo "&nbsp;<a href=tagwall-admin.php?page=gb&side=$aktuelside>Next</a>";
          }
?>
Avatar billede zib Nybegynder
23. september 2005 - 18:17 #1
jeg har også selv prøvet at gøre det ved at kigge på andre lign spm her på exp.dk men kunne ikke finde ud af det
Avatar billede Slettet bruger
23. september 2005 - 18:28 #2
Avatar billede micmicmicmic Nybegynder
23. september 2005 - 18:38 #3
$res = mysql_query("SELECT * FROM forbudteip WHERE ip ='$REMOTE_ADDR'");
$antal = mysql_num_rows($res);
if($antal >= "1"){
echo"<script>";
echo"parent.self.location='bannet.jpg';";
echo"</script>";
}

sæt denne kode ind i toppen af alle dine sider og så ellers juster koden efter behov, bannet.jpg er den fil den viser hvis din ip er i databasen :)
Avatar billede jakobdo Ekspert
24. september 2005 - 10:17 #4
Og ret så lige micmicmicmic's linie:
$res = mysql_query("SELECT * FROM forbudteip WHERE ip ='$REMOTE_ADDR'");
til:
$res = mysql_query("SELECT * FROM forbudteip WHERE ip ='".$_SERVER['REMOTE_ADDR']."' LIMIT 1");
Avatar billede jakobdo Ekspert
24. september 2005 - 13:49 #5
Prøv evt at kig på denne løsning: http://www.codebreaker.dk/exp/650478.php
Jeg skulle gerne få udviklet admin siden i morgen! :o)
Avatar billede micmicmicmic Nybegynder
24. september 2005 - 18:06 #6
mmh, kan godt være det er lidt sjusket jakobdo, men det virker, så dit er bare en lille tilføjelse til koden ;)
Avatar billede dustie Mester
24. september 2005 - 22:31 #7
En fejl rettelse mener du vidst ;)
Avatar billede jakobdo Ekspert
25. september 2005 - 09:43 #8
micmicmicmic: $REMOTE_ADDR virker kun hvis register_globals er ON!
Mange løber ind i problemer når udbydere opgradere eller man flytter udbyder og register_globals lige pludselig er OFF.
Avatar billede micmicmicmic Nybegynder
25. september 2005 - 10:48 #9
hmm, har nu ikke hørt om det før, men hvis det er bedre på den måde vil jeg da benytte den fremover. Jeg er godt nok aldrig støt ind i den fejl du kommer med der for at være ærlig :)
Avatar billede zib Nybegynder
25. september 2005 - 18:37 #10
jeg fandt en tagwall der havde det i forvejen så lukker
Avatar billede micmicmicmic Nybegynder
25. september 2005 - 18:52 #11
det var sku da egentligt ikke ret fair det du lige gjorde >;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester