Testade vår sida genom att logga in med en användare, sen stänga ner fönstret och öppna en sida genom att skriva i url:en själv. Då öppnar den sidan utan att sessionen är igång, vilket är fel. Hur gör man så att de alltid hamnar på login när de skriver i url:en manuellt?
Du får kontrollera på serversidan att det finns en session - gör det inte det får du redirecta till inloggningssidan. Du kan inte veta om någon har skrivit in en URL manuellt eller följt en länk.
Du får kontrollera på serversidan att det finns en session - gör det inte det får du redirecta till inloggningssidan. Du kan inte veta om någon har skrivit in en URL manuellt eller följt en länk.
aha tackar, sant ju :)
Blir nåt sånt här i början på varje sida:
<?php
//om inte sessionen lever, skicka till inloggningen
if (!isset($_SESSION['sess_inloggad']))
{
header("Location: inlogg.php");
exit;
}
Funderar på hur jag gör med sidor som inte använder en session, som tex databas connection fil som inkluderas på sidor som använder Mysql. När den skrivs in i URL:en öppnas en blank sida, vilket är fel. Den ska alltid skickas till login när den öppnas manuellt i browsern.
Besökare vet normalt inte om att du har en connection.php (eller vad den nu heter) och dom kan inte se att du länkar in den i dina sidor.
Om dom manuellt skriver in URL'en till den så får dom bara en tom sida.
Är svårt att skydda sig mot detta m.h.a php eftersom du måste inkludera och köra koden på dina sidor och då vill du inte skickas till login sidan.
Ett alternativ är att lägga denna typen av filer i en egen katalog och katalogen lägger du in en .htaccess fil som nekar all åtkomst, då vår eventuella besökare som knappar in adressen manuellt en felsida tillbaka den sidan kan seda skicka besökaren till login sidan.
139 ms totalt · 3 externa anrop · v20260731065814-full.b746b907