Avatar billede fragze Juniormester
06. januar 2004 - 15:02 Der er 15 kommentarer og
1 løsning

Count + insæt i db.

Hej eksperter,
Jeg har gået med tanken om at lave et script, hvis man havner på den samme side 3 gange i træk, så skal brugerens ip adresse smides ind i min tabel i min sql database... det skal fungere på den måde at man har 3 forsøg til at logge ind... og gør man ikke det inden for 3 forsøg ryger man på en ban liste... Noget der er nogen af jer som kan komme med en idé til hvordan det kan bygges ?

min tabel i sql ser sådan her ud...!

CREATE TABLE blocked (
  id int(11) NOT NULL auto_increment,
  ipnummer varchar(30) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;


så håber i kan fixe... 200 point til den første :D
Avatar billede ahv Nybegynder
06. januar 2004 - 15:07 #1
Du tjekker om login er korrekt, er det ikke dette laver du en else hvori du kan tilføje en værdi til tabellen. Du kan så logge tidspunktet, ip og antal forsøg.
Så kan du tjekke tidspunktet med det nuværende og sige hvis der er gået mindre end f.eks. 10 min. så skal den tælle en op, hvis der er gået mere end 10 min skal den starte forfra.

Af MYSQL funktioner skal du bruge:
INSERT, SELECT og UPDATE
INSERT til første gang man taster forkert, SELECT for at se om man har tastet forkert før og se hvor mange gang samt tidspunkt, UPDATE til at opdatere.
Avatar billede fragze Juniormester
06. januar 2004 - 15:17 #2
asso, det er lavet på den måde at hvis en bruger ikk skriver det det korrekte ryger han til en side der hedder wronglogin.php... det er så derfra du mener ikk sandt ?
Og kan du præcisere måden at lave det på med evt et eksempel.. så er jeg en glad mand :D
Avatar billede ahv Nybegynder
06. januar 2004 - 15:21 #3
Jeg sidder lige midt i en kemi time, jeg er hjemme ved 16 tiden, så kommer der et eksempel.
Avatar billede krydset Nybegynder
06. januar 2004 - 15:28 #4
$ip = $_SERVER['REMOTE_ADDR'];
$tjek_ip = mysql_query("SELECT ip FROM tabel WHERE ip = '$ip'") or die(mysql_error());

$antal = mysql_num_rows($tjek_ip);

if($antal >= "3") {
    echo "ALLE DINE FORSØG ER OPBRUGT ACCESS DENIED";
} else {
    din login kode
}

//det forudsætter så du har en tabel der hedder ip  ip bliver smidt i hverggang
//der er en der prøver at logger på, hvis den samme ip findes 3 gange
//i ip db kan man ikke logge ind
//mysql_query("INSERT INTO ip (ip) VALUES ('$ip') or die(mysql_error());
//håber du kan få det til at virke
?>
Avatar billede fragze Juniormester
06. januar 2004 - 15:50 #5
krydset, nej det ikk helt sådan... :)

Jeg har et login system hvor det er sådan at hvis en bruger skriver noget forkert... så ryger han til wronglogin.php... det er først der han skal ha tjekket sin ip... og når han så har prøvet 3 gange forgæves... så skal der indsættes en værdi i denne...

CREATE TABLE blocked (
  id int(11) NOT NULL auto_increment,
  ipnummer varchar(30) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
Avatar billede ahv Nybegynder
06. januar 2004 - 16:02 #6
Tror jeg har fundet meget nemmere måde end den jeg først beskrev, på wronglogin.php ->

session_start();
if (!isset($_SESION['wrong']) {
$_SESION['wrong'] = 1;
} else {
$_SESION['wrong']++;
}

if ($_SESION['wrong'] == 3) {
// Ind i blocked tabellen.
Avatar billede fragze Juniormester
06. januar 2004 - 16:14 #7
ahv.
Jeg har nu følgende på min wronglogin.php

<?php
if (!isset($_SESION['wrong']) {
$_SESION['wrong'] = 1;
} else {
$_SESION['wrong']++;
}

if ($_SESION['wrong'] == 3) {
echo "hej";
}
?><TABLE WIDTH=475 BORDER=0 align="center" CELLPADDING=0 CELLSPACING=0>
  <TR>
    <TD> <img src="images/news_01.gif" width=475 height=15 alt=""></TD>
  </TR>
  <TR>
    <TD background="images/news_bg.gif" WIDTH=475 >
      <table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td>sad</td>
        </tr>
    </table></TD>
  </TR>
  <TR>
    <TD> <IMG SRC="images/news_03.gif" WIDTH=475 HEIGHT=15 ALT=""></TD>
  </TR>
</TABLE>
Avatar billede fragze Juniormester
06. januar 2004 - 16:15 #8
Og asso, det er jo en include fil, og åpå selve hovede sitet køre jeg self.. session_start();

men får denne fejl... :)

Parse error: parse error in /hsphere/local/home/fraggel/kapow.dammoel.dk/wronglogin.php on line 2
Avatar billede fragze Juniormester
06. januar 2004 - 16:15 #9
ja lol måske jeg skulle se mig for ? :D
Avatar billede fragze Juniormester
06. januar 2004 - 16:16 #10
får stadig fejlen.. men asso har rettet if (!isset($_SESION['wrong']) {
til if (!isset($_SESSION['wrong']) {
Avatar billede fragze Juniormester
06. januar 2004 - 16:18 #11
<?php
if (!isset($_SESSION['wrong']) {
$_SESSION['wrong'] = 1;
} else {
$_SESSION['wrong']++;
}
if ($_SESSION['wrong'] == 3) {
echo "hej";
}
?>
Avatar billede fragze Juniormester
06. januar 2004 - 16:40 #12
Her er min kode ATM:

<TABLE WIDTH=475 BORDER=0 align="center" CELLPADDING=0 CELLSPACING=0>
  <TR>
    <TD> <img src="images/news_01.gif" width=475 height=15 alt=""></TD>
  </TR>
  <TR>
    <TD background="images/news_bg.gif" WIDTH=475 >
      <table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td><?php
if (!isset($_SESSION['wrong']) {
$_SESSION['wrong'] = 1;
} else {
$_SESSION['wrong']++;
}
if ($_SESSION['wrong'] == 3) {
echo "hej";
}
?></td>
        </tr>
    </table></TD>
  </TR>
  <TR>
    <TD> <IMG SRC="images/news_03.gif" WIDTH=475 HEIGHT=15 ALT=""></TD>
  </TR>
</TABLE>
Avatar billede fragze Juniormester
06. januar 2004 - 16:40 #13
og det fatter godt nok hat... :)

Parse error: parse error in /hsphere/local/home/fraggel/kapow.dammoel.dk/wronglogin.php on line 10
Avatar billede fragze Juniormester
06. januar 2004 - 17:16 #14
neder du er afk :D men sry for spam :D
Avatar billede ahv Nybegynder
06. januar 2004 - 17:23 #15
<?php
session_start();
<TABLE WIDTH=475 BORDER=0 align="center" CELLPADDING=0 CELLSPACING=0>
  <TR>
    <TD> <img src="images/news_01.gif" width=475 height=15 alt=""></TD>
  </TR>
  <TR>
    <TD background="images/news_bg.gif" WIDTH=475 >
      <table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td><?php
if (!isset($_SESSION['wrong'])) {
$_SESSION['wrong'] = 1;
} else {
$_SESSION['wrong']++;
}
if ($_SESSION['wrong'] == 3) {
echo "hej";
}
?></td>
        </tr>
    </table></TD>
  </TR>
  <TR>
    <TD> <IMG SRC="images/news_03.gif" WIDTH=475 HEIGHT=15 ALT=""></TD>
  </TR>
</TABLE>
Avatar billede fragze Juniormester
06. januar 2004 - 17:49 #16
yes så virker det... :)

her er koden.

<?php
session_start();
$ipnummer = $_SERVER['REMOTE_ADDR'];
?>
<TABLE WIDTH=475 BORDER=0 align="center" CELLPADDING=0 CELLSPACING=0>
  <TR>
    <TD> <img src="images/news_01.gif" width=475 height=15 alt=""></TD>
  </TR>
  <TR>
    <TD background="images/news_bg.gif" WIDTH=475 >
      <table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td><div align="center">Error wrong username or password... <br>
              Try again...!          <br>           
            </div>            <?php
if (!isset($_SESSION['wrong'])) {
$_SESSION['wrong'] = 1;
} else {
$_SESSION['wrong']++;
}
if ($_SESSION['wrong'] == 3) {
mysql_query("INSERT INTO blocked (ipnummer) VALUES ('$ipnummer')");
echo "Hello friend you now banned!";
}
?></td>
        </tr>
    </table></TD>
  </TR>
  <TR>
    <TD> <IMG SRC="images/news_03.gif" WIDTH=475 HEIGHT=15 ALT=""></TD>
  </TR>
</TABLE>
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