Avatar billede LilleUdvikler Nybegynder
04. april 2012 - 17:29 Der er 9 kommentarer

Lav betalings krævende dele af site

Hej alle her på Eksperten.

Jeg har et site, hvor jeg godt kunne tænke mig, at lave dele af sitet spærret for folk der ikke har betalt for et "PLUS"-medlemsskab. Men jeg er lidt i tvivl om, hvordan dette skal foreløbe.

Jeg tænker, at jeg bruger databasen og definere om en bruger har betalt eller ej, ved hjælp af et row: userPayment - som kan være 1/0. Også ville jeg tjekke således: if($row['userPayment'] == 1){ echo "indhold er for betalende",} else { echo "Du er ikke betalende"; }

Men er det her en sikker måde, at gøre det på og hvad skal jeg være opmærksom på?
Avatar billede olebole Juniormester
04. april 2012 - 17:46 #1
<ole>

Den del ser sikker nok ud - men det er jo kun en lillebitte del  =)

/mvh
</bole>
Avatar billede LilleUdvikler Nybegynder
04. april 2012 - 17:50 #2
Ja, det er jeg klar over, men hvordan ville man lave det normalt? Ville det være en funktion eller hvad skal der ske?

Jeg er ikke rigtig klar over, hvad der skal til osv.
Avatar billede noob2003 Nybegynder
04. april 2012 - 18:28 #3
det er en nem og sikker måde at lave det på, så det kan du godt bruge ;)
Avatar billede tobrukDk Novice
04. april 2012 - 20:09 #4
Der er mange måde som du kan lave det på,


en af din måde jeg har gør det på er sådan her ;


if($userArray["rank"] == 0)
        {
            header("Location: blocker.php");
            exit();
        }
        if($userArray["rank"] == 1)
        {
            header("Location: bruger_index.php");
            exit();
        }
        if ($userArray['rank']==2) {
            header("Location: admin_index.php");
            exit();
        }       

Hvis den er 0 så er det en blocker bruger og hvis den er 1 så er det normal bruger, og er det 2 så er det admin :) det er utroligt nemt og let :)

men spørger hvis du vil vide noget :)

du kan bygge det på en af de måde :) måske..
Avatar billede arne_v Ekspert
04. april 2012 - 21:36 #5
Efter successfuld login du brugernavm gemt i session.

Naar et stykke kode skal checke adgang kalder den en funktion med brugernavn og rolle navn.

Den funktion checker saa om det angivne brugernavn har den angivne rolle.
Avatar billede DiscSunshine Nybegynder
06. april 2012 - 14:29 #6
jeg plager at skive det sådan

$admin = $row['rank'];

if ($admin == 2) {
Logget ind som nr 2
} else {
echo"Du skal være et plus medlem";
}

og så inde i database lave en tabel der heder rank ud for brugeren
Avatar billede LilleUdvikler Nybegynder
10. april 2012 - 19:07 #7
tobruDK smider du ikke et svar? :)


Jeg har også gjort, som i alle sammen foreslår - men, har bare været i tvivl om og dette var sikkert og den rigtige måde at gøre det på. Så jeg tænkte at jeg ville spørge herinde :-)
Avatar billede olebole Juniormester
10. april 2012 - 20:17 #8
Et if/else statement er altid sikkert. Det er alt det udenom, du skal bekymre dig om. Hvis du har behov for at spørge om det, må man formode, du har bunker af sikkerhedshuller i din kode/arkitektur. Dette er på ingen måde ment som en personlig fornærmelse, men som en konstatering af fakta.

Husker du at bruge prepared statements, når du udfører databasekald?

Husker du, at den databasebruger, du forbinder til databasen med, når der logges ind, kun må have læserettigheder - og ikke kunne udføre INSERT, UPDATE eller noget somhelst andet?

Husker du, at den databasebruger, du forbinder til databasen med, når en bruger bare læser sider med indhold, hentet i databasen, kun må have læserettigheder - og ikke kunne udføre INSERT, UPDATE eller noget somhelst andet?

Der er bunker af muligheder for alvorlige sikkerhedsbrister, og det er ikke svært at finde noget at angribe 'derude' ... tværtimod!  *o)
Avatar billede arne_v Ekspert
11. april 2012 - 03:52 #9
En switch/nested-if paa privs som redirecter til forskellige sider kan vaere meget praktisk, men det bidrager ikke til noget sikkerhed.
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