Avatar billede danco Nybegynder
30. august 2009 - 11:23 Der er 16 kommentarer og
1 løsning

Hvordan laver jeg login smartest muligt?

Hejsa,
jeg har ikke den store erfaring med PHP programmering men dog er jeg ikke helt blank på det område.
Jeg er ved at lave en hjemmeside hvor jeg bruger dynamisk URL via GET. Og dertil skal jeg lave et login system.
Jeg vil skyde på jeg skal have mellem 10 og brugere samtidig så derfor ville det smarteste være at have et dokument som så skelner mellem brugerne gennem session.

Mit behov er følgende:
Brugeren skal kunne logge ind og se billeder og evt. kunne hente faktura (dog intet krav).

Jeg har allerede et script som jeg bruger på nuværende tidspunkt, men dels er der ingen form for sikkerhed i og for det andet skal jeg lave siden manuelt hver gang. Nogen ideer til hvordan jeg løser opgaven smartest muligt? :)
Avatar billede KHolmgaard Nybegynder
30. august 2009 - 11:31 #1
Har du prøvet med google?
Avatar billede danco Nybegynder
30. august 2009 - 11:50 #2
Ja det har jeg naturligvis.
Men det er jo så at sige et ret specielt system jeg skal bruge, så derfor bliver jeg nødt til at lave det selv fra bunden. Jeg ved bare ikke hvordan jeg skal gribe det an og om der muligvis kunne være nogle snedige metoder til det.

Selv login er ikke det store problem der skal jeg bare bruge lidt rådgivning i hvordan jeg laver den bedste sikkerhed. Det er nærmest det med at få de forskellige billeder printet på siden.
Avatar billede thewizard Nybegynder
30. august 2009 - 12:07 #3
Når du siger dynamisk med GET, mener du så ajax? Hvis ja, kan jeg anbefale

http://www.w3schools.com/Ajax/Default.Asp

Sammen med
http://www.w3schools.com/SQl/sql_select.asp

Tager en halv time at læse det, men det er det værd.
Avatar billede thewizard Nybegynder
30. august 2009 - 12:16 #4
Synd, havde lige skrevet et langt indlæg til dig om sikkerhed, men eksperten.dk ville ikke svare - så det gik tabt.

Kig på http://en.wikipedia.org/wiki/SQL_injection hvis du vil vide lidt om SQL injections.
Avatar billede olebole Juniormester
30. august 2009 - 13:10 #5
<ole>

- og det skal så siges, at w3shcools.com er herostratisk berømt for at være fyldt med mangler udeladelser og seriøse fejl.
Således er hans såkaldte 'Ajax' tutorial en parodi på en tutorial, som kun har ganske lidt med Ajax at gøre! Man kender ikke en dyt mere til Ajax, når man har læst den - men er i bedste fald ikke mere forvirret. Dén kan med andre ord absolut ikke anbefales!

Login bør du foretage ved en POST request - ikke en GET.

Siden mysqli blev introduceret, har SQL-injection ikke været et problem for PHP'ere - hvis man altså bruger det  ;o)
    http://dk2.php.net/manual/en/book.mysqli.php

/mvh
</bole>
Avatar billede danco Nybegynder
30. august 2009 - 13:32 #6
thewizard;
Ajax? nej overhovedet ik. Hvad jeg forsøger at sige med min GET del er blot at jeg henter siderne via GET. Altså min URL er www.domæne.dk/sider.php?Referencer
og derefter henter jeg teksten til referencer i min Mysql.

Olebole;
ja naturligvis ville jeg bruge POST til min login del. Når vi snakker sikkerhed er det jo aldrig nogen særlig god ide at gemme data i URL.
Avatar billede olebole Juniormester
30. august 2009 - 14:15 #7
Så er svaret vel bare: Du skal bruge mysqli for at undgå SQL-injections - og derud over sessions til at holde styr på, hvem der er logget ind  =)
Avatar billede danco Nybegynder
30. august 2009 - 15:26 #8
olebole;
Jo men jeg har siddet og læst lidt på det du sendte, og jeg kan ikke finde ud af om Mysqli er en helt anden version af sql, fordi i såfald understøtter min host det ikke :).

Det jeg også var i tvivl om hvordan jeg gør det smartest muligt med hensyn til at vise billederne på siden. Hvis der er 10-20 brugere der hver i sær har forskellige billeder der skal vises så kan det godt være lidt besværligt at lave manuelt hver gang.
Avatar billede nissen2630 Novice
30. august 2009 - 15:28 #9
Tag en kigger på dette. Det virker helt fint.
http://evolt.org/PHP-Login-System-with-Admin-Features

Så er det bare i gang med at forbedre det lidt.
Avatar billede olebole Juniormester
30. august 2009 - 15:50 #10
fordi i såfald understøtter min host det ikke >> det kan man jo intet vide om, før man har undersøgt det. Det ville undre mig, om ikke det er understøttet. Som altid: Prøv at køre en phpinfo(), hvis du er i tvivl  ;o)

At bruge alm. mysql må i dag regnes for komplet tåbeligt, dersom serveren understøtter mysqli. Der er voldsomme forbedringer i mysqli, at ingen burde være i tvivl. Hvis din host ikke understøtter det, bør du øjeblikkelig kræve det - eller flytte  =)
Avatar billede danco Nybegynder
30. august 2009 - 16:57 #11
Olebole;
Jeg kan fortælle at jeg bruger php version. 5.2.10.
Jeg kiggere nærmere ind i Mysqli.
Avatar billede olebole Juniormester
31. august 2009 - 10:38 #12
Her er det samlede overblik:
    http://dk2.php.net/manual/en/book.mysqli.php

- hvilket godt kan virke overvældende, men prøv at kikke på eksemplerne bag disse to links:
    http://dk2.php.net/manual/en/mysqli-stmt.prepare.php
    http://dk2.php.net/manual/en/mysqli-stmt.bind-param.php

Jeg ved godt, det umiddelbart kan virke irriterende at skulle til at lære en ny måde at deale med DB'en på - men i det lange løb sparer du oceaner af kræfter med mysqli ... og det tager faktisk ikke så lang tid at lære  =)
Avatar billede danco Nybegynder
31. august 2009 - 15:28 #13
Nu har jeg kigget dine links igennem og må indrømme om at jeg godt kan se det smarte i det.
Det virker umiddelbart også let nok at lære i forhold til alm. Mysql.

Men stadig så leder jeg efter en effektiv måde at gemme mine billeder i databasen og derefter hente dem ud på den specifikke bruger. Slet ingen ideer?
Avatar billede thewizard Nybegynder
31. august 2009 - 20:10 #14
danco, det er da nemt.. gem billederne som en blob, så hent dem ud igen..
Avatar billede danco Nybegynder
01. september 2009 - 10:23 #15
Thewizard, jeg har godt hørt om metoden før men vidste ikke om det var den mest effektive måde at gøre det på.

Kunne jeg få en af jer til smide et script eksempel og evt. eksempel på en Mysql struktur.  Jeg skal bruge kolonnerne: ID,bruger,type, og så til billederne (hvordan det end måtte foregå)

:)
Avatar billede danco Nybegynder
04. september 2009 - 16:50 #16
Update til mit spørgsmål.
Jeg har nu siddet hele dagen og ledt på nettet for at finde løsningen til mit spørgsmål.
Og derfor er jeg blevet enig med mig selv om at jeg vil lave en simpel upload form som gemmer direkte i en mappe på serveren. grunden til dette er blandt andet for at undgå for stor belastning på min database (med blob og MANGE billeder samtidig).

Nu sidder jeg blot og tænker, mon der findes en eller anden snedig måde hvorpå man vise billederne uden at skulle skrive URL til hvert billede på siden.

Jeg laver en mappe til billederne på hver bruger (mkdir), så derfor skal hele indholdet af hver mappe vises samtidig.
Avatar billede danco Nybegynder
21. september 2009 - 22:41 #17
Lukker her..
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