Avatar billede artico Novice
12. januar 2005 - 18:13 Der er 19 kommentarer og
1 løsning

Safe mode ?

Jeg har hentet en login script fra et andet site, men kan ikke få det til at køre på den nye server ? eneste forskel jeg kan se er at den nye server køre safemode=on ?

Hvad gør jeg, for jeg får ikke nogen fejlmeddelelse ? (jeg blir bare ikke loget ind ?)

Login scriptet ser således ud:
<?php
session_start();

if( $task == "login" )
{
  $lr = mysql_query("SELECT brugerId FROM gruppe WHERE brugernavn ='$navn' AND kode='$password' AND status='0'")or die (mysql_error());
 
  if( mysql_num_rows($lr) == 1)
  {
      $_SESSION['brugeren'] = $navn;
        $_SESSION['passworden'] = $password;
       
        header( "Location: $PHP_SELF" );
  }
}

$res = mysql_query("SELECT brugerId,type,id,brugernavn FROM gruppe WHERE brugernavn = '$_SESSION[brugeren]' AND kode = '$_SESSION[passworden]' AND status='0' " )or die (mysql_error());

if( mysql_num_rows( $res ) == 1 )
{
    $r = mysql_fetch_row($res);
    $brugerId=$r[0];
    $brugerType=$r[1];
    $brugerNavnet=$r[3];
   
    // Indsæt i loggen
    if($brugerType==1)
    mysql_query( "INSERT INTO gruppeLog VALUES( NULL, '$REMOTE_ADDR', '".session_id()."', $r[2], NOW() )" ) or die( mysql_error() );
}
else
{

?>
Avatar billede iss Novice
12. januar 2005 - 18:16 #1
Det er nok mere at register globals der er til forskel.
Avatar billede iss Novice
12. januar 2005 - 18:18 #2
$task skal nok være $_POST['task'] (eller $_GET['task']

Det samme gælder $navn og $password.
Avatar billede artico Novice
12. januar 2005 - 19:04 #3
Har prøvet begge muligheder ? ØV, Øv...
Er det sådan du mente ?

if( $_GET['task'] == "login" )

Jeg får ikke engang en fejlmeddelelse ?
Avatar billede iss Novice
12. januar 2005 - 19:06 #4
Husk $navn og $password i din SQL query....
Avatar billede artico Novice
12. januar 2005 - 19:13 #5
hmmm ? ved ikke lige hvordan...
Avatar billede iss Novice
12. januar 2005 - 19:16 #6
Samme måde som $task.
Avatar billede hmortensen Nybegynder
12. januar 2005 - 19:17 #7
Du kan prøve at teste sådan her:

if( $_REQUIRE['task'] == "login" )
{
echo "Inde i første if";
Avatar billede iss Novice
12. januar 2005 - 19:20 #8
REQUIRE???? Mener du REQUEST?
Avatar billede artico Novice
12. januar 2005 - 19:22 #9
jeg kan ikke få det til .... :-(
Avatar billede hmortensen Nybegynder
12. januar 2005 - 19:24 #10
Ja, det gjorde jeg.

Og spar du blot på -->?<--
Avatar billede iss Novice
12. januar 2005 - 19:25 #11
artico -> hvordan ser din kode da ud nu?
Avatar billede artico Novice
12. januar 2005 - 19:26 #12
gider du paste det rigtige mod nogle flere point ? har bokset med det hele eftermiddagen .....
Avatar billede iss Novice
12. januar 2005 - 19:29 #13
Den form du logger ind fra, er det en post eller en get?
Avatar billede iss Novice
12. januar 2005 - 19:33 #14
Her er den med post, for at få den til get skal alle $_POST erstattes med $_GET:
<?
session_start();

if( $_POST['task'] == "login" ) {
    $lr = mysql_query("SELECT brugerId FROM gruppe WHERE brugernavn ='".$_POST['navn']."' AND kode='".$_POST['password']."' AND status='0'") or die (mysql_error());
    if( mysql_num_rows($lr) == 1) {
        $_SESSION['brugeren'] = $navn;
        $_SESSION['passworden'] = $password;
        header( "Location: ".$_SERVER['PHP_SELF'] );
    }
}

$res = mysql_query("SELECT brugerId,type,id,brugernavn FROM gruppe WHERE brugernavn = '$_SESSION[brugeren]' AND kode = '$_SESSION[passworden]' AND status='0' " ) or die (mysql_error());

if( mysql_num_rows( $res ) == 1 ) {
    $r = mysql_fetch_row($res);
    $brugerId=$r[0];
    $brugerType=$r[1];
    $brugerNavnet=$r[3];
    // Indsæt i loggen
    if($brugerType==1)
    mysql_query( "INSERT INTO gruppeLog VALUES( NULL, '".$_SERVER['REMOTE_ADDR']."', '".session_id()."', $r[2], NOW() )" ) or die( mysql_error() );
}
else
{
Avatar billede artico Novice
12. januar 2005 - 19:49 #15
NO Det virker ikke ?? Stadig ingen fejl meddelelse, kan det være noget andet ??
Avatar billede iss Novice
12. januar 2005 - 19:51 #16
Så prøver jeg igen, hvordan ser din form ud?
Avatar billede artico Novice
12. januar 2005 - 19:56 #17
FORM:
<form action="aktiviteter/index.php" method="get" name="login">
                                                                        <div align="right">
                                                                            <table border="0" cellspacing="0" cellpadding="0">
                                                                                <form action="<?=$PHP_SELF;?>" method="get">
                                                                                    <input type="hidden" name="task" value="login" />
                                                                                    <tr>
                                                                                        <td align="right">
                                                                                            <table border="0" cellspacing="2" cellpadding="0">
                                                                                                <tr>
                                                                                                    <td>Navn:</td>
                                                                                                    <td><input type="text" name="navn" size="12"></td>
                                                                                                    <td align="center" width="8">Kode:</td>
                                                                                                    <td><input type="password" name="password" size="10"></td>
                                                                                                    <td></td>
                                                                                                    <td><input type="submit" value="Ok"></td>
                                                                                                </tr>
                                                                                            </table>
                                                                                        </td>
                                                                                    </tr>
                                                                                </form>
                                                                            </table>
                                                                        </div>
                                                                    </form>

CHECK.php

<?php

session_start();

if( $_GET['task'] == "login" ) {
    $lr = mysql_query("SELECT brugerId FROM gruppe WHERE brugernavn ='".$_GET['navn']."' AND kode='".$_GET['password']."' AND status='0'") or die (mysql_error());
    if( mysql_num_rows($lr) == 1) {
        $_SESSION['brugeren'] = $navn;
        $_SESSION['passworden'] = $password;
        header( "Location: ".$_SERVER['PHP_SELF'] );
    }
}

$res = mysql_query("SELECT brugerId,type,id,brugernavn FROM gruppe WHERE brugernavn = '$_SESSION[brugeren]' AND kode = '$_SESSION[passworden]' AND status='0' " ) or die (mysql_error());

if( mysql_num_rows( $res ) == 1 ) {
    $r = mysql_fetch_row($res);
    $brugerId=$r[0];
    $brugerType=$r[1];
    $brugerNavnet=$r[3];
    // Indsæt i loggen
    if($brugerType==1)
    mysql_query( "INSERT INTO gruppeLog VALUES( NULL, '".$_SERVER['REMOTE_ADDR']."', '".session_id()."', $r[2], NOW() )" ) or die( mysql_error() );
}
else
{
?>

OG DBÉN

CREATE TABLE `gruppe` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `brugernavn` varchar(50) NOT NULL default '',
  `kode` varchar(50) NOT NULL default '',
  `type` enum('1','2','3') NOT NULL default '1',
  `brugerId` int(11) unsigned NOT NULL default '0',
  `status` enum('0','1') NOT NULL default '0',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `brugernavn` (`brugernavn`)
) TYPE=MyISAM COMMENT='Status: 0=akt, 1=inakt - Type: 1=enkel, 2=admin, 3=super' AUTO_INCREMENT=188 ;

#
INSERT INTO `gruppe` VALUES (63, 'robyn', 'robyn', '2', 6, '0');
Avatar billede iss Novice
12. januar 2005 - 19:57 #18
Som sagt, ændre $_POST til $_GET hvis det er en GET form, og det er det.
Avatar billede iss Novice
12. januar 2005 - 19:59 #19
<?
session_start();

if( $_GET['task'] == "login" ) {
    $lr = mysql_query("SELECT brugerId FROM gruppe WHERE brugernavn ='".$_GET['navn']."' AND kode='".$_GET['password']."' AND status='0'") or die (mysql_error());
    if( mysql_num_rows($lr) == 1) {
        $_SESSION['brugeren'] = $_GET['navn'];
        $_SESSION['passworden'] = $_GET['password'];
        header( "Location: ".$_SERVER['PHP_SELF'] );
    }
}

$res = mysql_query("SELECT brugerId,type,id,brugernavn FROM gruppe WHERE brugernavn = '".$_SESSION['brugeren']."' AND kode = '".$_SESSION['passworden']."' AND status='0' " ) or die (mysql_error());

if( mysql_num_rows( $res ) == 1 ) {
    $r = mysql_fetch_row($res);
    $brugerId=$r[0];
    $brugerType=$r[1];
    $brugerNavnet=$r[3];
    // Indsæt i loggen
    if($brugerType==1)
    mysql_query( "INSERT INTO gruppeLog VALUES( NULL, '".$_SERVER['REMOTE_ADDR']."', '".session_id()."', $r[2], NOW() )" ) or die( mysql_error() );
}
else
{
Avatar billede hmortensen Nybegynder
12. januar 2005 - 20:01 #20
Du har kodeord stående i klartekst i databasen ?

Og her ligger du kodeordet i en session.
$_SESSION['passworden'] = $_GET['password'];

Det er forhåbentlig ikke følsom data du vil beskytte.
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