Avatar billede onkel_satan Nybegynder
17. marts 2003 - 18:54 Der er 27 kommentarer og
1 løsning

Seriøst irreterende problem omkring session/login

Har et login script der valider en bruger hvorefter hans navn gerne skulle gemmes i en session var. kaldt $_SESSION['user']. Dette virker oxo fint nok, ind til lige pludselig, hvor den automatisk begynder at tildele session variablen $_SESSION['user'] en bestemt bruger. Hvor den får det brugernavn fra har jeg ingen anelse om. Det der er mest sygt er, at det virker til at starte med, men så lige pludselig begynder det.
Fejlen opstår som følgende:
1)Du logger på og bliver valideret... OK
2)Du bliver sendt til index.php (home) hvor dit bruger navn er registreret korrekt.... OK
3)Nærste gang du trykker på et hvilket som helst link ændre den dit brugernavn (i dette tilfælde 'onkel')... FEJL
I er meget velkommen til at prøve det efter på galtrold.dk
ps. alt data vil self. blive slettet igen så i behøves ikke gøre den stor umage for at udfylde felterne.

Jeg er FULDSTÆNDIG lost, alle forslag er MEGET velkommen.

På forhånd tak.

Her kommer filerne (2 stk.):

verity.php---- denne fil valider om pass er ok og gemmer navnet i en session

session_start();
require("mysql/mysql.php");
$check = $_REQUEST["check"];
$log_user = $_REQUEST["log_user"];
$pass = md5($_REQUEST["log_pass"]);


if(isset($check) && $check == 1){
    $query = "SELECT password, member FROM members WHERE nick='$log_user'";
    sql_connect();
    $control_pass = sql_query_anwser($query);
    sql_close();
   
    if(count($control_pass) == 1){
        extract($control_pass[0]);
        if($pass != $password){
            $log_message = "Password incorrect";
            header("location:login.php?log_message=$log_message");
        }else{
            $_SESSION['loged'] = true;
            $_SESSION['user'] = $log_user;
            $_SESSION['member'] = $member;
            header("location:index.php");
        }
    }else{
        $log_message = "nick mangler";
        header("location:login.php?log_message=$log_message");
    }   
   
}
?>


top.php----Denne fil inkluderes på alle mine sider så jeg altid kan bruge mine session variabler:

<?php
session_start();
$user = $_SESSION["user"];
$loged = $_SESSION["loged"];
$member = $_SESSION["member"];
$logout = $_REQUEST["logout"];

if(isset($logout) && $logout == 1){
    session_destroy();
    $loged = 0;
}
?>
<HEAD>
<LINK rel="stylesheet" type="text/css" href="/CSS/style.css">
</HEAD>
<BODY bgcolor='#474F51'>
<TABLE width="100%" border="0" cellpadding="1" cellspacing="1">
    <TR>
        <TD align="left" width="64">
            <TABLE style="border: solid black 1px;" cellpadding="0" cellspacing="0">   
            <TR>
                <TD align="left">
                    <IMG SRC="/pic/guildlogo.JPG" WIDTH="64" HEIGHT="100" BORDER="0" ALT=""><BR>
                </TD>
            </TR>
            </TABLE>
        <TD align="center">
            <TABLE height="70" width ="100%" cellpadding="0" cellspacing="0" style="border: solid black 1px;">
            <TR>
                <td align=center></TD><TD align=center bgcolor="#1F1E1C"><IMG SRC="/pic/gal.JPG" WIDTH="700" HEIGHT="51" BORDER="0" ALT="">
                </TD>
            </TR>
            </TABLE>
            <TABLE height="30" width ="100%" cellpadding="0" cellspacing="0" style="border-left: solid black 1px;border-right: solid black 1px;border-bottom: solid black 1px;">
            <TR>
                <TD bgcolor="#1F1E1C">
                    <A HREF="/index.php" class="toplink">HOME</A>&nbsp;&middot;&nbsp;<A HREF="/guildxml.php" class="toplink">MEMBERS</A>&nbsp;&middot;&nbsp;<A HREF="/forum/forums.php" class="toplink">FORUM</A>&nbsp;&middot;&nbsp;<A HREF="/galleri/index.php" class="toplink">SCREEN SHOTS</A>&nbsp;&middot;&nbsp;<?php if(isset($member)  && $member == 'member') echo '<A HREF="/memberarea.php" class="toplink">MEMBERS AREA</A>'; ?>
                </TD>
            </TR>
            </TABLE>
        <TD  align="left" width="64">
            <TABLE style="border: solid black 1px;" cellpadding="0" cellspacing="0">
            <TR>   
                <TD  align="right">
                    <IMG SRC="/pic/guildlogo.JPG" WIDTH="64" HEIGHT="100" BORDER="0" ALT=""><BR>
                </TD>
            </TR>
            </TABLE>
        </TD>
    </TR>
    <TR>
        <TD colspan="3">
            <TABLE width="100%" border="0">
            <TR>
                <TD align="right">
                <?php
                if(isset($loged) && $loged == "1"){
                    echo '<small>Hello '; echo $user; echo "&nbsp; <b><A HREF='$PHP_SELF?logout=1' class='toplink'>Log out</A></b></small>";
                }else{
                    echo '<B><small><A HREF="/login.php" class="toplink">Log in</A>&nbsp;&nbsp;<A HREF="/create_member.php" class="toplink">Sign up</A></small></B>';
                }
                ?>
                </TD>
            </TR>
            </TABLE>
        </TD>
    </TR>
</TABLE>
Avatar billede onkel_satan Nybegynder
17. marts 2003 - 20:13 #1
Jeg har fundet ud af den må få brugeren 'onkel' fra noget gammelt session data. For jeg har lige slettet brugeren 'onkel' men den kommer stadig op med onkel som bruger.
Siger det jeg noget ?
Avatar billede onkel_satan Nybegynder
17. marts 2003 - 20:14 #2
Skal man mon nedlægge de sissions man opretter eller hvordan virker det helt præcist alt det session haløj ?
Avatar billede snuseren.dk Nybegynder
17. marts 2003 - 20:24 #3
Brug evt. det framragende login script, med MD5 encryptering...

http://www.udvikleren.dk/show_article.php?id=104

fra www.udvikleren.dk

der er osse mange andre: www.solutions2all.dk www.netcoders.dk www.kandu.dk www.netstuff.dk www.thomaslunde.dk
Avatar billede ahv Nybegynder
17. marts 2003 - 20:29 #4
Du skulle vel aldrig et sted i en af dine include fil have en variabel der hedder $user = "onkel"; ?

Dette tyder det meget på, måske i din connection til databasen ?
Avatar billede ahv Nybegynder
17. marts 2003 - 20:30 #5
Jeg tænker på denne fil:

mysql.php

Ligger der en variabel i den som hedder $user og som er sat til onkel?
Avatar billede onkel_satan Nybegynder
17. marts 2003 - 20:39 #6
Nope har kigget efter det.
Der er INTET med onkel, har en stærk mistanke til at kunne gemme sig i noget session data. Kan virkelig ikke se hvor ellers det kan komme fra. Der skulle vel ikke vaere en måde man kan komme til at se hvad den har læggende i sine session filer ?
Avatar billede onkel_satan Nybegynder
17. marts 2003 - 20:43 #7
snuseren.dk <-- Tak for tilbudet, men jeg er af den nysgerige type der ikke bare kan acceptere sådan en fejl, det ville simpelthen irreterer mig fra nu af og til jeg faldt død om =)
plus, jeg har det meget bedre med selv at lave det :-)
Avatar billede ahv Nybegynder
17. marts 2003 - 20:52 #8
onkel_satan >> Hvis du vil kan du sende alle dine filer til -> alexander_hv@hotmail.com
Så kan jeg se det igennem, send evt. også tabelskrukturen til databasen så jeg selv kan prøve det af.
Avatar billede ahv Nybegynder
17. marts 2003 - 20:55 #9
På din side skriver du:

Postet by onkel

Hvor får den dette onkel fra?
Avatar billede onkel_satan Nybegynder
17. marts 2003 - 20:56 #10
kk...
med admin.php kan du oprette alle nødvendige tabeller eller bare se strukturen i dem.
Avatar billede ahv Nybegynder
17. marts 2003 - 20:56 #11
ok
Avatar billede onkel_satan Nybegynder
17. marts 2003 - 21:00 #12
zipper dem lige... du skulle gerne have dem om 2-3 min
Avatar billede onkel_satan Nybegynder
17. marts 2003 - 21:10 #13
saa er de sendt
Avatar billede onkel_satan Nybegynder
17. marts 2003 - 21:29 #14
Har du fået filerne ?
Kan du se noget galt i dem ?
Hvis du vil se opsætningen af php, har jeg lavet en phpinfo() på
http://www.galtrold.dk/test.php
Avatar billede ahv Nybegynder
17. marts 2003 - 21:32 #15
onkel_satan >> Jeg har lige sat hele systemet op lokalt, her virker det perfekt. Jeg har prøvet at oprette bruger eog skifte sider med dem alle, den viser det rigtige brugernavn.
Avatar billede ahv Nybegynder
17. marts 2003 - 21:34 #16
Så hvis jeg var dig ville jeg tage en kopi af databasen, samt de billeder og andre filer du har også sætte det op igen.
Avatar billede onkel_satan Nybegynder
17. marts 2003 - 21:37 #17
lokalt hos mig virker det oxo, det samme gjore det på min server(der står et andet sted)fra i gåår aftes da jeg satte den op indtil her i eftermiddags. så er det den lige pludselig begynder med det der 'onkel' fis der :(
Hvis jeg sletter databasen og starter forfra vil det virke igen, men indtil ??? så begynder den igen... aner ikke hvad det er der trigger fejlen :(
Avatar billede ahv Nybegynder
17. marts 2003 - 21:39 #18
ok, lige 2 min der er noget jeg lige skal undersøge i koden.
Avatar billede onkel_satan Nybegynder
17. marts 2003 - 21:40 #19
og som sagt, det mist sindsyge ved det her er at jeg har slettet brugeren onkel. Det vil altsaa sige: ordet 'onkel' findes ikke i nogle af .php filerne ej heller i databasen findes det. Hvor FANDEN får den det fra ????
Avatar billede ahv Nybegynder
17. marts 2003 - 21:44 #20
Nu har jeg et bud på hvor det går galt :o)

Jeg skal lige formulere det så du kan finde det ;o)
Avatar billede onkel_satan Nybegynder
17. marts 2003 - 21:45 #21
:D lyder nice....
Avatar billede ahv Nybegynder
17. marts 2003 - 21:47 #22
Jep så har jeg den.

Du må lige have 5 min.
Avatar billede onkel_satan Nybegynder
17. marts 2003 - 21:48 #23
jaja.... .helt ok... du tager bare den tid der skal til :)
Avatar billede ahv Nybegynder
17. marts 2003 - 21:52 #24
Lige præcis hvor amnge steder du skal rette aner jeg ikke, men nu siger du sikker ååh ja der var den når dette kommer:

På index.php udskriver den masse "nyheder", her skriver den "posted by $user"
:o) Dette $user får den fra tabellen news.

Det vil sige $user er hermed sat til den som har skrevet nyheden.

Hvorfor dette ikke sker på forsiden er jo logisk nok, da den får en $user fra da man logger ind, men herefter bliver den jo lavet af fra denne posted by $user.

Så, ja det er her problemet er.

En løsning ville være at lave navnet i news tabellen om så det f.eks. hed writeuser eller sådan noget, og dette skal jo så også ændres de steder i koden hvor den henter dette ud.
Avatar billede onkel_satan Nybegynder
17. marts 2003 - 21:58 #25
hahahahahahahahahahahahahaha................... DAMN :D
Forsatan da en STORE KLODS jeg er ;-)

Har ikke rette det endnu, men er 99,9999999 % sikker det er der :)
Kan sagtens se det nu.
MANGE MANGE TAK.
Går lige ind og retter det.
Avatar billede ahv Nybegynder
17. marts 2003 - 22:00 #26
Det var så lidt ;o)

Men jeg må indrømme at jeg istarten også var stirret lidt blind på problemet, men hey så du lige midt skud i tågen tidligere?

Kommentar: ahv
17/03-2003 20:55:52

På din side skriver du:

Postet by onkel

Hvor får den dette onkel fra?


;o)
Avatar billede onkel_satan Nybegynder
17. marts 2003 - 22:15 #27
WOOW den så jeg slet ikke.... men JA, godt skydt :-)
Har lige rettet det (skulle kun rettes tre steder så det var ikke så slemt) og nu virker det self.
Jeg udnævner dig hermed til dagens mand i skysovs og det samme er jeg også sikker på mine guild/clan kammerater også gør da vi nu kan få siden op og køre.
Endnu engang tusinde tak for din tid du har brugt.
mvh. Christian James
Avatar billede ahv Nybegynder
17. marts 2003 - 22:16 #28
Det var så lidt. - Jeg takker for points.
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