Norsk Freakforum
Bildereklame vises kun når du ikke er logget inn. Registrer deg eller logg inn for å kun vise tekstreklame.
Svar
 
Trådverktøy
Gammel 10. mai 2012, 21:56   #1
I ChiiSSii I x
echo 'Hello World!';
I ChiiSSii I x's Avatar
 
Registreringsdato: sep 2010
Sted: Sandnes
Innlegg: 601
Kvalitetspoeng: 101
PHP login påkrevd for å vise mappeinnhold

Heisann.

Jeg holder på å prøve meg på en liten privat webserver for bruk hjemme og til skole/jobb.

Jeg har laget en index side i PHP hvor man må fylle inn brukernavn og passord som som sjekkes opp mot en SQL database. Når du skriver riktig informasjon får du et lite 'success'-bilde og en link til en mappe kalt 'Home' som ligget i root på serveren sammen med index'en. Du får også en link til en egen side hvor man kan laste opp dokumenter til 'Home'.

Spørsmålet mitt er hvordan jeg kan hindre at folk bare bruker 'http://xx.xx.xx.xx/Home' for å få tilgang til mappen, slik at f.eks. IP'en nettopp må ha logget seg inn de siste 10 min eller noe i den duren.

Jeg kan poste PHP-koder om noen ønsker, men prøver uten først
På forhånd takk.


EDIT:
I mappen 'Home' ligger den ingen index, ønsker å bare ha den clean om mulig.

Hiver med PHP'en alikevel.
PHP-kode:
<html>
<head />
<body>

<body background="Grey-website-background.jpg" />

<center>
<font color="#CC6633"><h1>Privat Webserver</h1></font>
<form action='index.php?login=yes' method='POST'>
<font color="#FFFFFF">Bruker: </font><input type='text' name='user'><br/>
<font color="#FFFFFF">Passord: </font> <input type='password' name='pass'><br/>
<input type='submit' value='Go!'><p>
</form>


<?php
if ( isset($_GET['login']) ) {
    
    
$pass mysql_real_escape_string($_POST['pass']);
    
$user mysql_real_escape_string($_POST['user']);
    
    
$con mysql_connect("localhost","root",""); 
    
mysql_select_db('login'$con);
    
    
$get mysql_query("SELECT COUNT(1) FROM `login` WHERE `user` = '$user' AND pass = '$pass'") or die(mysql_error());
    
$result mysql_result($get0);
    
    
mysql_close($con);
    if ( 
$result 1) echo '<img src="http://kwikzclan.com/fail.png" /><br />'
    else {
        echo 
'<img src="http://kwikzclan.com/success.png" /> ';
        echo 
'<br />';
        echo 
'<font color="#66FF00"><a href="Home">Filer</a>!</font><br />';
        echo 
'<font color="#66FF00"><a href="upload.php">Trykk her</a> for filopplastning</font><br />';
        
$_SESSION['user'] = $user;
    }
}  

?>
<br />
<br />

<font color="#CCCCCC">Copyright© - Christoffer A. - 2012</font>




</center>
</body>
</html>
Finnes det bla. andre enklere måter å gjøre dette på?

MSI 890FXA-GD70 | Phenom II x4 965 BE @ 3,9 GHz | 16 GB 1866 MHz Corsair Vengeance | Geforce GTX 650 Ti 2GB | Corsair Force 3 60GB | 2x1TB WD Black 7200RPM | Chieftec Nitro 950W
Sist endret av I ChiiSSii I x; 10. mai 2012 kl. 21:57.
Svar på og siter dette innlegget
Gammel 11. mai 2012, 06:55   #2
fr1lanser1
Hacker
 
Registreringsdato: mar 2011
Sted: Oslo
Innlegg: 318
Kvalitetspoeng: 159
Hei,
her er en enkel og grei tutorial du kan følge:
http://www.devarticles.com/c/a/PHP/P...y-a-Beginners/

Gratis nettbasert fakturaprogram: fippr
-
Webhotell fra 29,- og VPS fra 159,- på Ulven i Oslo, Interessert? Send en PM!
Svar på og siter dette innlegget
Gammel 11. mai 2012, 07:11   #3
I ChiiSSii I x
echo 'Hello World!';
I ChiiSSii I x's Avatar
 
Registreringsdato: sep 2010
Sted: Sandnes
Innlegg: 601
Kvalitetspoeng: 101
Ser at du bruker en PHP-side med 'CheckLogin' altså sessions. Håper på å ikke ha noen index eller lignende i 'Home'-mappen.

Jeg ønsker en funksjon som lagrer en session(cookies) om man logger inn vellykket i index/login i server root'en.

I Hjem-mappen tenker jeg å ha en fil som sjekker om brukeren som forsøker å navigere seg der har en session. Om så vil jeg vise en liste over filene/mappene i Hjem. (NB: Mappen 'Hjem' er ikke root, men ligger i root på serveren. Her oppbevarer jeg alle filene jeg vil ha sikekr tilgang til.)

Jeg bruker XAMPP og lurer på om dette er mulig på en eller annen måte.

OBS: Jeg har lest reglene for dette forumet, og jeg har en del basic PHP i hodet, men jeg synes den beste måten å lære på er å få gjøre, samt. få litt hjelp og prøve å forstå hva som skjer. Jeg har googlet meg i hjel :/

Denne posten ble sammenslått med den forrige, så bare ignorer den første linjen ^^

MSI 890FXA-GD70 | Phenom II x4 965 BE @ 3,9 GHz | 16 GB 1866 MHz Corsair Vengeance | Geforce GTX 650 Ti 2GB | Corsair Force 3 60GB | 2x1TB WD Black 7200RPM | Chieftec Nitro 950W
Svar på og siter dette innlegget
Gammel 11. mai 2012, 17:23   #4
Sjanten
 
Registreringsdato: feb 2007
Innlegg: 413
Kvalitetspoeng: 155
Eneste løsningen jeg kan tenke meg er at i login siden, etter at du har funnet ut at det er en godkjent bruker, så modifiserer du .htaccess evt .htpasswd til filkatalogen og legger til brukeren som har logget inn.
Sist endret av Sjanten; 11. mai 2012 kl. 17:24.
Svar på og siter dette innlegget
Gammel 15. mai 2012, 07:53   #5
I ChiiSSii I x
echo 'Hello World!';
I ChiiSSii I x's Avatar
 
Registreringsdato: sep 2010
Sted: Sandnes
Innlegg: 601
Kvalitetspoeng: 101
Brukte heller en index som krever login hver gang for å vise mappeinnholdet.
Om noen ønsker å gjøre noe lignende er AutoIndex også en grei løsning, men ikke like morro :-)

MSI 890FXA-GD70 | Phenom II x4 965 BE @ 3,9 GHz | 16 GB 1866 MHz Corsair Vengeance | Geforce GTX 650 Ti 2GB | Corsair Force 3 60GB | 2x1TB WD Black 7200RPM | Chieftec Nitro 950W
Svar på og siter dette innlegget
Svar
Trådverktøy