Avatar billede KurtG Forsker
11. marts 2025 - 13:25 Der er 9 kommentarer og
1 løsning

Se om det er en ny bruger, der ikke er logget ind

Jeg er ved at lave en hjemmeside, der består af flere sider.
Via index.php kan man vælge at se noget og kommer derefter til en side med login: logind.php.
Er logind korrekt, sendes man videre til en tredje side: vis.php, der viser det ønskede.
Problem: Man kan komme direkte ind på vis.php uden at logge ind, da logind fra en anden bruger er gemt i nogle session-data.
Hvordan løser jeg det?

Jeg har tænkt på om det kan løses ved at se på fra hvilken maskine der forsøges at komme ind på vis.php. Men kan man det?

En anden mulighed kunne være at lade det hele foregå på index.php, men det bliver nok noget snørklet at få til at virke!
Avatar billede arne_v Ekspert
11. marts 2025 - 13:41 #1
Login siden sætter vel noget i session som du kan teste på i vis??
Avatar billede KurtG Forsker
11. marts 2025 - 17:24 #2
Ja, og det tester jeg også på.
Men det viser sig, at man kun kommer ind på vis.php, hvis man benytter en pc, der før er blevet logget ind.
Så der er nok ikke noget problem i virkeligheden.

Men derfor kan det da godt være interessant, om man kan detektere hvorfra en forespørgsel kommer.
Avatar billede ejvindh Ekspert
12. marts 2025 - 09:35 #3
Hvis der er noget sikkerhedsmæssigt involveret, skal du nok stadig sikre dig, at filen ikke eksekverer, hvis brugeren manuelt taster stien til vis.php ind i browseren.
Avatar billede KurtG Forsker
12. marts 2025 - 09:47 #4
Ja, men jeg aner ikke hvordan!
Avatar billede ejvindh Ekspert
12. marts 2025 - 11:09 #5
En måde kan være at starte filen med en test af om sessionsvariablen er sat:
if(isset($_SESSION)){
[din nuværende kode indenfor disse to tuborg-parenteser]
}
Avatar billede KurtG Forsker
13. marts 2025 - 23:47 #6
Ja, det har jeg med i programmet.
Men jeg mener, at man på en eller måde kan se nogle oplysninger om maskinen, der 'banker på'!
Avatar billede ejvindh Ekspert
14. marts 2025 - 08:24 #7
Tror ikke helt, jeg forstår denne kommentar. Php filer kører jo på serveren, og klienterne får kun adgang til det, som serveren sender ud af huset.
Avatar billede KurtG Forsker
14. marts 2025 - 14:49 #8
Jeg mener, at jeg i forbindelse med noget program til optælling af gæster på en hjemmeside blev fortalt, at man på serveren kunne se fra hvem der kom anmodning  til ens hjemmeside.
Altså at serveren fra dem, der gik ind på ens hjemmeside fik en eller anden kode, som identificerede gæsten!
Men måske er det er erindringsforskydning!
Avatar billede arne_v Ekspert
14. marts 2025 - 15:15 #9
Server kan se den eksterne IP adresse af client, hvilket ikke er det samme som at se bruger (der kan være mange tusinder af brugere bag samme eksterne IP adressse).

Server can sætte en session cookie med et session id som client kan vælge at sende i alle efterfølgende requests (alle browsere gør dette for at understøtte login uden URL rewriting) hvilket giver serveren mulighed for at identificere hvilke requests som hører til en session, men ikke mulighed for at sammenkoble forskellige sessioner.

Server kan sætte en persistent  cookie med et id  som client kan vælge at sende i alle efterfølgende requests  - dette afhænger af browserens privacy settings og brugerens accept af standard EU advarsel etc.etc. - hvilket giver mulighed for at identificere en PC og browser (hvilket ofte vil være en bruger) - ihvertfald indtil brugeren sletter cookies.
Avatar billede KurtG Forsker
14. marts 2025 - 17:16 #10
Det er nok det, som jeg har misforstået.
Tak for info!
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