webForumDet fria alternativet

login på en mapp

3 svar · 298 visningar · startad av FunTrix

FunTrixMedlem sedan okt. 2003118 inlägg
#1

Hejsan!
Jag undrar om det går att lösenordsskydda en hel mapp och filerna i den mappen på något sätt?
Just nu lyckas jag bara skydda en sida med lösenord, så därför undrar jag om det går att skydda resten på samma sätt på något sätt, skickar med mina php filer...
först phpfilen i hemsidesdokumentet:

<?php include('includes.class'); ?>

<?php if(empty($_POST['anv']))
      {
	      $anv = "";
	      $los = "";
	  }
      else
      {
	      $anv = $_POST['anv'];
	      $los = $_POST['los'];
      }
      
      if(empty($_SESSION['admin']))
      {
          $admin = new Administrator($anv, $los);
          $admin = serialize($admin);
          session_start();
          $_SESSION['admin'] = $admin;
           
      }
      else
      {
	      $admin = unserialize($_SESSION['admin']);
	      $admin->check_login();
      }
      
      ?>

sedan har jag en classfil:

<?php // Klassen Administrator kontrollerar inloggningen för adminstratörer
      
	  class Administrator
      {
	      
	      var $canv;
	      var $clos;
	      var $validerad;
	      
	      function Administrator($a, $l)
	      {
		      $this->canv = $a;
		      $this->clos = $l;
		      
		      if(empty($this->canv))
		          $this->visa_login_formular();
		      
		      if(!empty($this->canv))
		      {
		          if(!$this->validerad == TRUE)
		              $this->logga_in();
	          }
		      
	      }
	      
	      function visa_login_formular()
	      {
		      if(empty($this->canv))
      		  {
	      		  print("<html>");
	      		  print("<head>");
	      		  print("<title>|| trams007 ||</title>");
	      		  print("</head>");
	      		  print("<body>");
	      		  print("<b>|| trams007 ||</b>");
	      		  print("<p/>");
	      		  print("<i>Du måste logga in för att kunna använda de här sidorna!</i>");
	      		  print("<p/>");
	      		  print("<form method=POST action=" . $_SERVER['PHP_SELF'] . ">");
	      		  print("<b>Logga in</b><p/>");
	      		  print("<b>Användarnamn</b><br/>");
	      		  print("<input type=text size=30 name=anv><p/>");
	      		  print("<b>Lösenord</b><br/>");
	      		  print("<input type=password size=30 name=los><p/>");
	      		  print("<input type=submit value='Logga in'><p/>");
	      		  print("</body>");
	      		  print("</html>");
	      
	 	          die;
 	          }
 	         	      
	      }
	      
	      function logga_in()
	      {
		      if(!empty($this->canv))
 	          {
	 	          $anv = $this->canv;
	 	          $los = $this->clos;
	 	          $connection = mysql_connect("localhost", "", "") or die("Kunde inte skapa koppling!");
			       mysql_select_db("") or die("Kunde inte välja databas");
			       
	 	          $hamta = "SELECT * FROM admin WHERE anv = '$anv' AND los = '$los'";
			      $resultat = mysql_query($hamta) or die("Det gick inte att hämta information från databasen!");
			  
			      $rad = mysql_fetch_object($resultat);

			      if(empty($rad->anv))
			      {
				      print("<i>Felaktigt användarnamn och/eller lösenord! Försök igen.</i><p/>");
				      $this->canv = "";
				      $this->visa_login_formular();
			      }
			      else
			      {
				      $this->validerad = TRUE;
			      }
				  
			      mysql_free_result($resultat);
			      mysql_close($connection);
	 	          
 	          }
		      
	      }
	      
	      function check_login()
	      {
		      if(!$validerad = TRUE)
		          $this->visa_login_formular();		      
		         
	      }
	      
      }

      ?>
K@llenMedlem sedan mars 20032 667 inlägg
#2

Använder du Apache är det enklaste att göra det med en .htaccess-fil.

Lär mer om hur du gör ...

FunTrixMedlem sedan okt. 2003118 inlägg
#3

vart finns SSH i apache då? eller vad kallas det för jag hittar inget som heter så! :S

K@llenMedlem sedan mars 20032 667 inlägg
#4

FunTrix skrev:

vart finns SSH i apache då? eller vad kallas det för jag hittar inget som heter så! :S

Du kan lika gärna använda telnet. Eller administrera filerna med de verktyg du har tillgång till.

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