Avatar billede kermit23 Nybegynder
01. oktober 2000 - 14:52 Der er 38 kommentarer og
1 løsning

Opret Profil

Davzer du !!!

jeg mangler et script der kan tjekke et brugernavn og et password i en mySQL databse også sende en videre til siden \"jokesystem.php3\"

Altså når man logger ind og oplysningerne er ridtige kommer man til denne side \"jokesystem.php3\" men hvis de er forkerte skal der stå \"forkert brugernavn elle password.  Prøv igen\"

/Kermit
Avatar billede sorenmh Nybegynder
01. oktober 2000 - 15:51 #1
det kan jeg godt lave... gi mig lidt tid
Avatar billede kermit23 Nybegynder
01. oktober 2000 - 16:04 #2
Okay, det er i orden
Avatar billede sorenmh Nybegynder
01. oktober 2000 - 16:05 #3
login.php
<?
if($login){
  $user = md5($user);
  $query = mysql_query(\"SELECT * FROM users WHERE user = \'$user\' AND password = \'$password\'\");
  if($row = mysql_fetch_array(query)){
    setcookie(\"user\",\"$row[user]\",time()+3600);
    setcookie(\"password\",\"$row[password]\",time()+3600);
    include(\"jokesystem.php3\");
  } else {
    echo(\"Forkert brugernavn eller adgangskode!\");
  }
} else {
  echo(\"<form action=\\\"$PHP_SELF\\\" method=\\\"POST\\\">
  <input type=\\\"tekst\\\" name=\\\"user\\\">
  <input type=\\\"password\\\" name=\\\"password\\\">\");
}
Avatar billede sorenmh Nybegynder
01. oktober 2000 - 16:07 #4
glemte ?> i slutningen af koden
Avatar billede sorenmh Nybegynder
01. oktober 2000 - 16:16 #5
ny_bruger.php:
<?
if($new){
  $query = mysql_query(\"SELECT * FROM users WHERE user = \'$user\'\");
  if($row != mysql_fetch_array($query)){
    mysql_query(\"INSERT INTO users(user,password)\" . \"VALUES(\'$user\',\'$password\')\");
    setcookie(\"user\",\"$row[user]\",time()+3600);
    setcookie(\"password\",\"$row[password]\",time()+3600);
    include(\"jokesystem.php3\");
    echo(\"Du er nu blevet oprettet som bruger\");
  } else {
    echo(\"Brugernavnet er allerede taget\");
  }
} else {
  echo(\"<form action=$PHP_SELF method=POST>
  <input type=text name=user>
  <input type=password name=password>
  <input type=submit name=submit value=Tilmeld\");
}
?>



Glemte lige en submit knap på login.php Brug denne:
<input type=submit name=submit value=Login\"
Avatar billede sorenmh Nybegynder
01. oktober 2000 - 16:18 #6
glemte også input denne her i formularen i login.php:
<input type=hidden value=login>

og denne her i formularen i ny_bruger.php:
<input type=hidden value=new>

Kan du bruge det eller skal det kunne noget mere?
Avatar billede sorenmh Nybegynder
01. oktober 2000 - 16:26 #7
Glemte lige nogle ting her er hele koden:

ny_bruger.php:
-----------------------------------------------
<?
if($new){
  $query = mysql_query(\"SELECT * FROM users WHERE user = \'$user\'\");
  if($row != mysql_fetch_array($query)){
    $password = md5($password);
    mysql_query(\"INSERT INTO users(user,password)\" . \"VALUES(\'$user\',\'$password\')\");
    setcookie(\"user\",\"$row[user]\",time()+3600);
    setcookie(\"password\",\"$row[password]\",time()+3600);
    include(\"jokesystem.php3\");
    echo(\"Du er nu blevet oprettet som bruger\");
  } else {
    echo(\"Brugernavnet er allerede taget\");
  }
} else {
  echo(\"<form action=$PHP_SELF method=POST>
  <input type=text name=user>
  <input type=password name=password>
  <input type=submit name=submit value=Tilmeld\");
  <input type=hidden value=new>
}
?>



login.php
-----------------------------------------
<?
if($login){
  $user = md5($user);
  $query = mysql_query(\"SELECT * FROM users WHERE user = \'$user\' AND password = \'$password\'\");
  if($row = mysql_fetch_array(query)){
    setcookie(\"user\",\"$row[user]\",time()+3600);
    setcookie(\"password\",\"$row[password]\",time()+3600);
    include(\"jokesystem.php3\");
  } else {
    echo(\"Forkert brugernavn eller adgangskode!\");
  }
} else {
  echo(\"<form action=\\\"$PHP_SELF\\\" method=\\\"POST\\\">
  <input type=\\\"tekst\\\" name=\\\"user\\\">
  <input type=\\\"password\\\" name=\\\"password\\\">\");



tjek.php
-------------------------------------------
<?
if($user && $password){
  setcookie(\"user\",\"$row[user]\",time()+3600);
  setcookie(\"password\",\"$row[password]\",time()+3600);
  $login = 1;
} else {
  echo(\"Du er ikke logget ind!\");
  $login = 0;
}
?>



På alle dine sider der kræver adgangskode, skal du skrive følgende:

<?
include(\"tjek.php\");
if($login == 1){
  ?>
  ------------sæt dit indhold ind her-------------
  <?
} else {
  echo(\"Du er ikke logget ind!\");
}
?>
Avatar billede kermit23 Nybegynder
01. oktober 2000 - 16:32 #8
Davzer
Takker for hjælpen.

Skal jeg oprette en tabel der heder users og en kollonne der heder user og en anden der heder password skal den laves sådan:

CREATE TABLE users (
user CHAR(255),
password CHAR(255),
id int(6) NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id)
);

/Rasser
Avatar billede sorenmh Nybegynder
01. oktober 2000 - 16:37 #9
Opret følgende database:
---------------------------------

<?
CREATE TABLE users (
  id int(4) NOT NULL auto_increment,
  user varchar(255) NOT NULL,
  password varchar(255) NOT NULL,
  PRIMARY KEY (id),
  UNIQUE id (id)
);
?>

Desuden skal du sørge for at formulere en login sætning til databasen mit bud er:

connect.php
--------------------------------------
<?
mysql_connect(\"localhost\",\"root\") OR DIE(  \"Couldn\'t connect to MySQL server!\");
mysql_select_db(\"dof\") OR DIE(  \"Couldn\'t select database!\");
?>


ret i ovenstående kode, således at password og brugernavn matcher med det du har fået af din udbyder.
skriv følgende i starten af alle dokumenter:
-----------------------------------
<?
include(\"connect.inc\");
?>

Avatar billede sorenmh Nybegynder
01. oktober 2000 - 16:38 #10
ja, brug den database jeg lige har lavet... læg koden i en fil og kør den på din server
Avatar billede sorenmh Nybegynder
01. oktober 2000 - 16:39 #11
husk at i starten af opret database koden skal dette også indgå:
include(\"connect.php\");
Avatar billede sorenmh Nybegynder
01. oktober 2000 - 16:41 #12
det skal lige siges at det ikke er testet :-)
Avatar billede kermit23 Nybegynder
01. oktober 2000 - 16:45 #13
øhhm du kan se hvad den gør her:

Login:
http://rasmusstyrk.dk/udvikling/jokesystem/login.php3

Opret:
http://rasmusstyrk.dk/udvikling/jokesystem/ny_bruger.php3

der sker ikke rigtig noget
Avatar billede sorenmh Nybegynder
01. oktober 2000 - 16:48 #14
jeg tester det lige på min egen server
Avatar billede kermit23 Nybegynder
01. oktober 2000 - 16:50 #15
Okay
Avatar billede sorenmh Nybegynder
01. oktober 2000 - 17:12 #16
ny_bruger.php
----------------------------------
<?
if($new){
  include(\"connect.inc\");
  $query = mysql_query(\"SELECT * FROM users WHERE user = \'$user\'\");
  $row == mysql_fetch_array($query);
  if(isset($row[user])){
    echo(\"Brugernavnet er allerede taget\");
  } else {
    $password = md5($password);
    mysql_query(\"INSERT INTO users(user,password)\" . \"VALUES(\'$user\',\'$password\')\");
    setcookie(\"user\",\"$row[user]\",time()+3600);
    setcookie(\"password\",\"$row[password]\",time()+3600);
    include(\"jokesystem.php3\");
    echo(\"Du er nu blevet oprettet som bruger\");
  }
} else {
  echo(\"<form action=$PHP_SELF method=POST>
  <input type=text name=user>
  <input type=password name=password>
  <input type=submit name=submit value=Tilmeld>
  <input type=hidden name=new value=new>\");
}
?>


login.php
---------------------------------
<?
if($login){
  include(\"connect.inc\");
  $password = md5($password);
  $query = mysql_query(\"SELECT * FROM users WHERE user = \'$user\' AND password = \'$password\'\");
  if($row = mysql_fetch_array($query)){
    setcookie(\"user\",\"$row[user]\",time()+3600);
    setcookie(\"password\",\"$row[password]\",time()+3600);
    include(\"jokesystem.php3\");
  } else {
    echo(\"Forkert brugernavn eller adgangskode!\");
  }
} else {
  echo(\"<form action=\\\"$PHP_SELF\\\" method=\\\"POST\\\">
  <input type=\\\"tekst\\\" name=\\\"user\\\">
  <input type=\\\"password\\\" name=\\\"password\\\">
  <input type=hidden name=login value=login>
  <input type=submit name=submit value=Login>
  </form> \");
}
?>



tjek.php
---------------------------------------------
<?
if($user && $password){
  setcookie(\"user\",\"$row[user]\",time()+3600);
  setcookie(\"password\",\"$row[password]\",time()+3600);
  $login = 1;
} else {
  echo(\"Du er ikke logget ind!\");
  $login = 0;
}
?>


opret_db.php
------------------------------------------------
<?
include(\"connect.inc\");
mysql_query(\"CREATE TABLE users (
  id int(4) NOT NULL auto_increment,
  user varchar(255) NOT NULL,
  password varchar(255) NOT NULL,
  PRIMARY KEY (id),
  UNIQUE id (id)
)\");
?>


connect.inc
-------------------------------------------------
<?
mysql_connect(\"localhost\",\"root\") OR DIE(  \"Couldn\'t connect to MySQL server!\");
mysql_select_db(\"dof\") OR DIE(  \"Couldn\'t select database!\");
?>


jokesystem.php3
-------------------------------------------------
<?
include(\"tjek.php\");
if($login == 1){
  ?>
  logget ind!!!!!!!!!!!!!!!!!
  !!!!!!!!!!!!!!!!!!!!!!!!!
  <?
} else {
  echo(\"Du er ikke logget ind!\");
}
?>
Avatar billede kermit23 Nybegynder
01. oktober 2000 - 17:31 #17
der kun et problem, den er lige glad med om brugeren er oprettet med samme brugernavn. Altså at man kan oprette 2 med samme brugernavn. men foreløbig guld til dig
Avatar billede sorenmh Nybegynder
01. oktober 2000 - 17:37 #18
ny_bruger.php
-------------------------------------------
<?
if($new){
  include(\"connect.inc\");
  $query = mysql_query(\"SELECT * FROM users WHERE user = \'$user\'\");
  $row = mysql_fetch_array($query);
  $numrows = mysql_num_rows($query);
  if($numrows > 0){
    echo(\"Brugernavnet er allerede taget\");
  } else {
    $password = md5($password);
    mysql_query(\"INSERT INTO users(user,password)\" . \"VALUES(\'$user\',\'$password\')\");
    setcookie(\"user\",\"$row[user]\",time()+3600);
    setcookie(\"password\",\"$row[password]\",time()+3600);
    include(\"jokesystem.php3\");
    echo(\"Du er nu blevet oprettet som bruger\");
  }
} else {
  echo(\"<form action=$PHP_SELF method=POST>
  <input type=text name=user>
  <input type=password name=password>
  <input type=submit name=submit value=Tilmeld>
  <input type=hidden name=new value=new>\");
}
?>


logud.php
-----------------------------------------------
<?
setcookie(\"user\",\"\",time()+5);
setcookie(\"password\",\"\",time()+5);
echo(\"Du er nu logget ud!\");
?>
Avatar billede kermit23 Nybegynder
01. oktober 2000 - 17:41 #19
systemet virker som det skal TAKKER
Avatar billede kermit23 Nybegynder
01. oktober 2000 - 17:42 #20
jeg trykker på acceptere nu 1 2 3 4 og nu
Avatar billede olebole Juniormester
01. oktober 2000 - 18:08 #21
<ole>
1 2 3 4 - du er taknemmelig mand, kermit23...JavaScript \'beskyttelse\' med password\'et stående på bagsiden af HTML-dokumentet er mindst ligeså sikkert.
Når nu du har spildt en masse tid på at få implementeret det script, skal du prøve disse to links:
    <a href=\"enBeskyttetSide.php3?login=1\">...som at score bolcher fra småbørn!</a>
...eller:
    <a href=\"enBeskyttetSide.php3?user=elendig&password=skod\">Det her er sgu for nemt!</a>
...så banker du lige forbi...!
Det er ikke 1,50 kr. værd, kiloet - hvis man altså ser bort fra underholdningsværdien :o))
/mvh
</bole>
Avatar billede andreas Nybegynder
01. oktober 2000 - 19:57 #22
ole... hehe, de fejl laver mange.
Avatar billede kermit23 Nybegynder
01. oktober 2000 - 20:29 #23
Ja, men scriptet det virker fandme som det skal !!!
Ja, men scriptet det virker fandme som det skal !!!
Ja, men scriptet det virker fandme som det skal !!!
Ja, men scriptet det virker fandme som det skal !!!
Ja, men scriptet det virker fandme som det skal !!!
Avatar billede jd Nybegynder
01. oktober 2000 - 21:00 #24
kermit23-> Ja, det virker måske som det skal, men er det særligt fedt hvis enhver kan komme ind i systemet uden at være oprettet?

/Jon@z
Avatar billede kermit23 Nybegynder
01. oktober 2000 - 21:11 #25
hvordan kan de det ???
Avatar billede jd Nybegynder
01. oktober 2000 - 21:14 #26
læs lige ole\'s kommentar igen!
Avatar billede kermit23 Nybegynder
01. oktober 2000 - 21:19 #27
jeg fatter ikke hvordan de kan det
Avatar billede jd Nybegynder
01. oktober 2000 - 21:38 #28
det er som meget simpelt... Den enste \"sikkerhed\" i søren\'s system, er at $login er lig 1, derfor kan man jo bare gå ind på adressen beskyttetside.php?login=1 -og så vil det blive accepteret som logget ind!

/Jon@z
Avatar billede kermit23 Nybegynder
01. oktober 2000 - 22:45 #29
nåår, på den måde hvordan kan det lave om
Avatar billede kermit23 Nybegynder
01. oktober 2000 - 22:47 #30
nej, man kan ikke jeg har lige testet det
Avatar billede olebole Juniormester
02. oktober 2000 - 00:59 #31
Selvfølgelig kan du da det!
Det eneste scriptet spørger efter, er om det kan få en værdi at se på $login. Hvis den er \'1\' er script\'et glad. Altså er scriptet glad, hvis det får \'login=1\'.
Det kan også stilles tilfreds med at få at vide \'$user\' og \'$password\' har en værdi - og vel at mærke ligegyldigt, hvilken! Det kan man også tilfredsstille script\'et med gennem query-strengen.
Du skal simpethen stave de simple ord forkert for ikke at kunne komme igennem. Hvis du samtidigt prøver at checke de cookies, du har fået sat i din browser, vil du finde ud af, at enormt mange hedder \'user\', \'user_name\', \'psw\' og \'password\' - så det er afgjort de bedste ord at bruge, hvis man gerne vil skænke en kop Gevalia til uventede gæster  ;o))
Om du kan finde ud af at gøre det, er sådan set uinteressant...der er millioner derude, der kan.
/mvh
Avatar billede kermit23 Nybegynder
02. oktober 2000 - 12:31 #32
Okay, hvis du sige man kan det, hvordan kan det så være at nå jeg skriv \"skriv.php3?login=1\" som er en beskyttet side så skriver min browser
\"Du er ikke logget ind\"

/Kermit23
Avatar billede sorenmh Nybegynder
02. oktober 2000 - 12:50 #33
hvis user og password er forkert så sætter scriptet login=0... så der er der ikke security brist... men det med at man bare skal sætte user og password i URL\'en har du ret i... men det kan jeg da hurtigt rette... det er bare at få den til at tjekke om useren er i databasen i tjek.php
Avatar billede kermit23 Nybegynder
02. oktober 2000 - 13:57 #34
hvis du gør det bliver jeg glad

/Kermit23
Avatar billede sorenmh Nybegynder
02. oktober 2000 - 14:46 #35
tjek.php
------------------------------------------------
<?
if($user && $password){
  include(\"connect.inc\");
  $query = mysql_query(\"SELECT * FROM users WHERE user LIKE \'$user\'\");
  $row = mysql_fetch_array($query);
  if($row[password] == $password){
    setcookie(\"user\",\"$user\",time()+3600);
    setcookie(\"password\",\"$password\",time()+3600);
    $login = 1;
  } else {
    echo(\"Du er ikke logget ind!\");
    $login = 0;
  }
} else {
  echo(\"Du er ikke logget ind!\");
  $login = 0;
}
?>


prøv også at erstatte denne linie i login.php:
$query = mysql_query(\"SELECT * FROM users WHERE user = \'$user\' AND password = \'$password\'\");


med denne linie:
$query = mysql_query(\"SELECT * FROM users WHERE user LIKE \'$user\' AND password = \'$password\'\");


Så er der ikke længere forskel på små og store bogstaver i brugernavnet, men det er der dog stadig i adgangskoden.
Avatar billede kermit23 Nybegynder
02. oktober 2000 - 15:11 #36
hej igen

kan du sige mig hvad der er galt. prøve at kigge her, Prøv at oprette en ny bruger og se hvad den gø

http://www.rasmusstyrk.dk/udvikling/jokesystem/ny_bruger.php3  Man bliver oprettet men den medler en fejl, næste fejl Prøv at logge ind med de oplysninger du lige har oprettet en bruger med.

http://www.rasmusstyrk.dk/udvikling/jokesystem/login.php3

/Rasser
Avatar billede sorenmh Nybegynder
02. oktober 2000 - 15:17 #37
det er fordi at du ikke må udskrive noget til siden før at den udskriver cookies...
Avatar billede kermit23 Nybegynder
02. oktober 2000 - 18:36 #38
hvad mener du, jeg her indcluderet en menu, der heder menu.php3 og den indcludere den først efter skriptet. Altså nederst på siden
Avatar billede olebole Juniormester
02. oktober 2000 - 18:42 #39
Du må heller ikke lave liniemellemrum eller includes, før du sætter din cookie.
/mvh
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