webForumDet fria alternativet

session som registeras lite då och då

8 svar · 277 visningar · startad av zOLOz

zOLOzMedlem sedan apr. 200297 inlägg
#1

Jag har haft samma problem i snart 2 månader. Jag vet inte vad felet är. Jag har gjort ett enkelt login skript..

include("dblib.php"); //fil med koppling till databas samt session_start(); högst upp

$sql="SELECT * FROM tabellmedanv WHERE test1='$_GET[skickaanv]' AND test2='$_GET[skickapass]'";
$result=mysql_fetch_array(mysql_query($sql));

if(mysql_num_rows(mysql_query($sql))==0) {
	$fel="Du skrev in fel lösenord eller användarnamn!";
	header("Location: ../main.htm?s=2&fel=$fel");
	exit;
}

$anvnamn=$result['test1'];
session_register('anvnamn');

$inloggad=1;
session_register('inloggad');

För att kolla om man är inloggad kör jag med if($_SESSION['inloggad']==1). jag kör include("dblib.php") på varje sida högst upp som man ska göra. Det konstiga är att det funkar ibland... och ibland funkar det inte..

Jag börjar misstänka att det är php konfigurationen som det är fel på.. så har se min fil ut iaf (jag kör linux, med apache och php 4.2.1)

globala variablar är på.

php.ini

[Session]
; Handler used to store/retrieve data.
session.save_handler = files

; Argument passed to save_handler. In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
session.save_path = /tmp

; Whether to use cookies.
session.use_cookies = 1

; Name of the session (used as cookie name).
session.name = PHPSESSID

; Initialize session on request startup.
session.auto_start = 0

; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0

; The path for which the cookie is valid.
session.cookie_path = /

; The domain for which the cookie is valid.
session.cookie_domain =

; Handler used to serialize data. php is the standard serializer of PHP.
session.serialize_handler = php

; Percentual probability that the 'garbage collection' process is started
; on every session initialization.
session.gc_probability = 1

; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
session.gc_maxlifetime = 1440

; Check HTTP Referer to invalidate externally stored URLs containing ids.
; HTTP_REFERER has to contain this substring for the session to be
; considered as valid.
session.referer_check =

; How many bytes to read from the file.
session.entropy_length = 0

; Specified here to create the session id.
session.entropy_file =

;session.entropy_length = 16

;session.entropy_file = /dev/urandom

; Set to {nocache,private,public} to determine HTTP caching aspects.
session.cache_limiter = nocache

; Document expires after n minutes.
session.cache_expire = 180

; use transient sid support if enabled by compiling with --enable-trans-sid.
session.use_trans_sid = 1

url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

Det kanske hjälper nån iaf.. Det konstiga är som sagt att det funkar ibland, och ibland inte..
:l

Vore bra om nån kunde reda ut det här med sessions..

stevenetMedlem sedan juni 20001 251 inlägg
#2

Jag antar att det har att göra med att användarna har stora och små bokstäver i användarnamnet och/eller lösenordet.

zOLOzMedlem sedan apr. 200297 inlägg
#3

ja, det är möjligt.. men vad skulle det spela för roll? Det har ju trots allt fungerat förrut

stevenetMedlem sedan juni 20001 251 inlägg
#4

Låt oss säga att du har en användare med användarnamnet Bil och lösenordet volvo. Bil logga in med användarnamnet bil (ja, litet b) och lösenordet volvo. (Kan accepteras beroende på vilken fälttyp du använder)
När bil sedan kommer till en sida med en bättre kontroll upptäcks detta och användaren kastas ut.

zOLOzMedlem sedan apr. 200297 inlägg
#5

men det funkar ju att logga in med blandade bokstäver.. jag kan ju ändra den inställningen iaf.. tack för svaret, bra och väl formulerat, som det ska vara.. annars får man inte så mycket svar här.. :/

zOLOzMedlem sedan apr. 200297 inlägg
#6

förresten, hur gör man för att kollen ska bli case sensitive?

zOLOzMedlem sedan apr. 200297 inlägg
#7

jag testade med att byta if-satsen

if(mysql_num_rows(mysql_query($sql))==0) {
    $fel="Du skrev in fel lösenord eller användarnamn!";
    header("Location: ../main.htm?s=2&fel=$fel");
    exit;
}

till

if(strcmp($result['anvnamn'],$_GET['anvForm'])==0) {
    $fel="Du skrev in fel lösenord eller användarnamn!";
    header("Location: ../main.htm?s=2&fel=$fel");
    exit;
}
zOLOzMedlem sedan apr. 200297 inlägg
#8

men det funkade inte..

zOLOzMedlem sedan apr. 200297 inlägg
#9

då kan man inte alls logga in..

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)