Gå til innhold

Innloggingssystem i php


Gjest Slettet+19283741

Anbefalte innlegg

Gjest Slettet+19283741

Hei!

 

Jeg har postet en tidligere post i HTML-delen av forumet, men siden det jeg spurte om handler litt om PHP fortsetter jeg posten her.

 

Saken er den at jeg gjerne vil ha et innloggingssystem der hvor utvalgte personer med (gjerne som et passordssystem) kan legge til bilder og tekst, bare ved å gå inn på hjemmesiden. Akkurat slik man f.eks kan gjøre på auksjoner som autodb.no, finn.no etc..

 

1. Hvordan gjøres dette?

2. Hvilken script kan jeg bruke?

3. Er det mye arbeid hvis man finner en ferdig script?

4. Hva heter det jeg spørr etter, både på norsk og på engelsk.

 

På forhånd, takk!

Lenke til kommentar
Videoannonse
Annonse
Hei!

 

Jeg har postet en tidligere post i HTML-delen av forumet, men siden det jeg spurte om handler litt om PHP fortsetter jeg posten her.

 

Saken er den at jeg gjerne vil ha et innloggingssystem der hvor utvalgte personer med (gjerne som et passordssystem) kan legge til bilder og tekst, bare ved å gå inn på hjemmesiden. Akkurat slik man f.eks kan gjøre på auksjoner som autodb.no, finn.no etc..

 

1. Hvordan gjøres dette?

2. Hvilken script kan jeg bruke?

3. Er det mye arbeid hvis man finner en ferdig script?

4. Hva heter det jeg spørr etter, både på norsk og på engelsk.

 

På forhånd, takk!

5026171[/snapback]

1. Innlogginscripts lages ved hjelp av SESSIONS ;) Selve det med bilder og tekst og slikt, kan du lage på mange måter (bare med et lite script som sjekker at man er innlogget). Anbefaler at du lærer deg en del php for dette.

 

2. Sikkert mange fine script på hotscripts.com, men kanskje vanskelig å editere. Ellers kan du jo bruke no sånn som phpnuke da :) Det er nok det letteste, for noen som ikke har gjort det før.

 

3. phpnuke er vel veldig lett , og lite tidkrevende.

Lenke til kommentar
Gjest Slettet+19283741

Phpnuke høres bra ut :) Finnes det noen gode guider om dette med sessions? Det virker som om dette er et program (?) der man kan gjøre mer enn bare det jeg er ute etter?

Endret av Slettet+19283741
Lenke til kommentar
Gjest Slettet+19283741

Hvor mye skal du ha hvia du skulle lage et enkelt innloggingssystem ved å bruke php-nuke e.l ?

 

Hjemmesiden jeg har nå er skrevet kun i html i notisblokk og en css fil skrevet i notisblokk.

Lenke til kommentar
  • 2 uker senere...
Gjest Slettet+19283741
..(og da er det en fordel å kunne php)..

5026461[/snapback]

 

Hvordan kan man lære seg litt om php? Finnes det noen (helst norske) guider for å lære seg dette?

Hvor mye er det realistisk å betale for at noen skal lage et slikt innlogginssystem med f.eks. php-nuke hvis man har et web-design klart som er bygd opp i html og css-fil.

 

 

På forhånd, takk!

Lenke til kommentar

Beste måten er ved å kjøpe seg bøker om det. De tar deg step by step gjennom de viktigste punktene og når du da titter på andres script vil du skjønne mer og mer logikken bak PHP. Det er veldig enkelt egentlig, eneste som kan virke vanskelig er å skjønne når du skal bruke de og de tegnene.

 

Angående innloggingen din, hvor skal man havne når man er logget inn ?

Med PHP-Nuke har man ett veldig omfattende brukersystem hvor man kan redigere ens egen profil og forandre på instillinger som gjør at man kan tilpasse hjemmesiden etter hva man måtte ønske.

 

De som er rutinert på PHP lager vanlige innlogginssystemer på minutter hvis ikke mindre . Det som krever tid er når man snakker om portaler lignende SoGamed.com eller Catch-Gamer.no .

Lenke til kommentar
Gjest Slettet+19283741

Skjønner ikke helt hva som menes med portaler som Sogamed.com osv. Hva er dette?

 

Jeg tenkte i hovedsak på et enkelt innlogginssystem som gjør at bare de som har "riktig" passord kan legge inn bilder på siden.

Lenke til kommentar
Gjest Slettet+19283741

Ja.

 

For å si det sånn:

 

Jeg laget hjemmesiden for et firma, firmaet klarer ikke å lage hjemmeside å laste den opp mot serveren, i stedet for at de skal være avhengig av meg for å legge inn bildene av bilene så tenkte jeg på et system slik at bare de i firmaet kan legge inn bilde og skrive tekst selv, da bør man ha et passord slik at ikke hvilke som helst kan legge inn hva som helst ;)

 

Hvor mye tid krever dette og er det noe jeg har sjangs til å gjøre selv eller er det veldig avanserte saker? Jeg skjønte ikke så mye av php-nuke.. Dette skal jo igrunn være et lett "program"

 

Jeg kan som sagt så mye html at jeg kan bygge opp en like sider som jeg lager i frontpage ekspress (enkle sider).

Lenke til kommentar

Hey, jeg føler meg grei i natt, så skal scrive et fint, trygt og helt basic brukersystem for deg. :)

 

Det første du må ha er en form der brukeren skriver inn brukernavn og passord. Du sa du hadde laget siden for et firma, så jeg antar du kan webdesign (HTML). Ergo skriver jeg form-koden så enkel som mulig.

 

login.php

<?php
session_start();  //denne er nødvendig for å bruke sessions og skal komme først i fila.
if(empty($_SESSION['user']))  //dersom $SESSION['user'] er tom er ingen innlogget
{
   //brukerverifisering
   if(!empty($_POST['username']) && !empty($_POST['password']))
   {  //dersom username og password har blitt postet, prøv innlogging
       $users = file('users.txt');  //les alle brukere fra fila users.txt
       foreach($users as $temp)  //loop igjennom filens innhold
       {
           $b = explode('|', $temp);
           if($b[0] == $_POST['username'] && $b[1] == md5($_POST['password']))
           {  //hvis brukernavn og passord er rett...
               $_SESSION['user'] = $b[0];  //...sett $_SESSION['user'] til brukernavnet
               Header('Location: login.php');  //hopp til login.php
           }
       }
   }
   //slutt på brukerverifisering

   //form for å logge inn, kommer opp dersom ingen er innlogget
?>

<form action="login.php" method="post">
<input type="text" name="username" /> <br />
<input type="password" name="password" /> <br />
<input type="submit" value="Logg inn" /> <br />
</form>

<?php
}
else
{
   echo 'Logget inn som: '.$_SESSION['user'];  //skrive hvilken bruker som er logget inn
}
?>

 

Akkurat brukerverifiseringen er kanskje litt plundrete å forstå, men file() leser inn innholdet av en fil. Hver linje i filen havner i et eget array. Dersom filen test.txt inneholder følgende:

 

hei

deg!

 

og man i php kjører $a = file('test.php'); vil dette bli resultatet:

 

$a[0] = hei

$a[1] = på

$a[2] = deg!

 

Explode gjør omtrent det samme. Dersom jeg kjører følgende i php...

 

$a = explode('|', 'hei|på|deg!');

 

...blir resultatet...

 

$a[0] = hei

$a[1] = på

$a[2] = deg!

 

 

Vet ikke om det gjorde saken noe klarere, men fortsetter uansett. :p Filen users.txt inneholder alle brukernavn, sammen med en md5-hash av brukerens passord. Dette gjør at det ikke er til hjelp for 14 år gamle scriptkiddies (eller noen andre) å lese users.txt. Slik kan den se ut:

 

PlastBox|e10adc3949ba59abbe56e057f20f883e|
milleniam|e10adc3949ba59abbe56e057f20f883e|

 

Dette er 2 brukere med brukernavnene du ser i filen, samt passordet 123456. Trenger du flere brukere legger du bare til en ny linje i fila med følgende format:

 

brukernavn|md5-hash av passord|

 

 

Sidene du skal beskytte kan du enkelt og greit starte med følgende kode:

<?php
session_start();
if(empty($_SESSION['user']))
{
   echo 'Du må være innlogget for å se denne siden!';
   exit;
}
?>

Her er sidens faktiske innhold. Dersom du ikke hadde vært innlogget hadde du aldri i verden sett dette!;)

 

 

Dette bittelille scriptet (som vi kaller makeuser.php) vil hjelpe deg å opprette brukere. Bare skriv inn brukernavn og passord, send det, kopier linja du får opp og lim den inn i users.txt.

 

<form action="makeuser.php" method="post">
<input type="text" name="username" /> <br />
<input type="password" name="password" /> <br />
<input type="submit" value="Send" /> <br />
</form>

<?php
if(!empty($_POST['username']) && !empty($_POST['password']))
{
   echo 'Lim inn følgende linje nederst i users.txt:<br />'
.$_POST['username'].'|'.md5($_POST['password']).'|';
}
?>

 

 

Edit: klumsete navn på en knapp. :blush:

Endret av PlastBox
Lenke til kommentar

Det er kanske lett og knekke md5 hash som er under 5 siffer og ikke har noen tall i seg. Det bruker jeg 23 sekunder på og brute opp..

 

Ta med noen tall og litt fler siffer så er du 100% sikker på at script kiddiene ikke klarer det :)

 

Hva med mysql ?

Endret av hero_ruler
Lenke til kommentar
Gjest Slettet+19283741

Kjempemagetusentakker for alt arbeidet du har lagt i scriptet plastbox.

Det er bare en ting jeg lurer på nå, eller egentlig to ting. Jeg har laget 3 filer ut av alt det du postet (login.php , users.txt og makeuser.php). Jeg har tidligere linket en css fil til et html fil, men hvordan skal jeg linke en php-fil til en html?

Spm 2 er om jeg trenger MySQl eller hva det nå heter for å bruke scriptet du ga meg?

 

Håper jeg ikke glemte å si takk! ? :D

 

Er det lov til å få vite ca hvor lang tid du brukte? Bare for å være nysgjerrig..

 

Takker for alle andre svar også!

 

Håper jeg ikke maser for mye nå ? :ermm:

Endret av Slettet+19283741
Lenke til kommentar
Gjest Slettet+19283741
Last ned dette innloggings scriptet, det kan man gjøre mere på endre o.l.

 

Og det er flat-file ^^

 

 

PS: Ikke sikker på om det funker..

5105398[/snapback]

 

Fikk litt problemer med dette, se screenshot. Hva er feil? :hmm:

Lenke til kommentar
Gjest Slettet+6132

Et lite tips hvis du skal bruke flatfil til å lagre brukerdate; for å hindre at noen skal lese noe som helst innhold fra filen (brukernavn kan jo leses ved å skrive inn filnavnet), så enten legg users.txt på et sted hvor du ikke kan få tilgang via webserveren, eller kall den users.php og legg til "<?die("Piss off kiddie!");?> øverst og hopp over $a['0']. Ved begge disse metodene skal du ikke kunne hente ut data om brukernavn, og dermed har du økt sikkerheten et par hakk ;)

Endret av Slettet+6132
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...