Gå til innhold

Guide: Databaseskolen ? Del 3 (Ekstra)


Anbefalte innlegg

Videoannonse
Annonse

Ikke for å være skikkelig "douchebag", men eg ble litt lei meg når eg leste kilden.

 

For det første e det alltid greit å gi brukeren en feilmelding om f.eks. man ikke kommer seg inn i databasen; mysqli_connect() or die(mysqli_error()."<br>_EVENTUELLE EKSTRAHINT DU ØNSKER Å SKRIVE");

 

Så Kan det sies at $_REQUEST er ikke det sikreste å bruke, da $_REQUEST henter variabler fra samtlige metoder; $_GET, $_POST og $_COOKIE, noe som gir et bredere utvalg av utnyttelse.

 

Minimumssikkerheten, vil jeg påstå er mysqli_real_escape(); på hver enkelt variabel.

 

Jeg hadde heller brukt "prepared statements" vel å merke:

http://php.net/manual/en/mysqli.prepare.php

 

og det å ha en direkte handling som han si minside.com/?Slett=true&ID=1 er lite kult... passordbeskyttet kanskje?

 

Øvrig trenger du bare å ha mysqli_connect() koden en gang på hele siden, da du uansett skal bruke denne hver gang du laster siden, det samme med mysqli_close()

 

Lite tips til HTML koden:

attributen "colspan" kan brukes i stede for å skrive <td></td><td><input /></td>

 

Tross for at man kanskje ønsker å kjøre fra localhost, så bør man ikke bruke "root" brukere, denne bør ha et sterk passord, evt. slettes, evt. byttes navn på, og root skal primært bare brukes til å lage nye brukere som kan gjøre noen oppgaver.

 

normalt begynner alle variabler med liten bokstav, eventuelle "flere ord i en", som "Produkt Pris" skrives ofte (ikke alltid) som $produktPris.. bare et lite hint.

 

Det at dere bruker Zymic er helt greit, men man bør merke seg at de fleste webhotellene som er gratis har begrenset oppetid.

Man finner også mange fullgode alternativer, både gratis og betalt, som kanskje har bedre kontrollpanel... og kanskje "Cron Tabs" som gjør det mulig å kjøre et skript til gitte tidspunkt på dagen.

 

Forøvrig, så er en dedikert server det beste, men VPS og delte hoster kan være fullgode alternativer for mindre nettsteder.

 

Ble en lang kommentar, beklager dette, men dette er noe eg brenner litt for :)

  • Liker 3
Lenke til kommentar

Det å kode databaser direkte som forklart kommer jo med fallgruver som Mortenrb nevner, ikke for å nevne at når en driver å skriver kode direkte mot database på en web side kan det fort gå veldig fort i svingene og en ender opp men en side som lar seg hacke av nærmest hvem som helst.

 

Ett rammeverk av type Code First ORM hadde jo vært en super ting å nevne, disse lar seg mye enklere vedlikeholde kode, samt de kommer vanligvis med kode som fjerner de vanlige metodene for at en database blir hacket.

 

Nå mener jeg ikke at en guide i Zend Framework er nødvendig, men det er noen enkle rammeverk der ute som kun er ment som ORM for PHP.

Endret av j0achim
Lenke til kommentar

For det første e det alltid greit å gi brukeren en feilmelding om f.eks. man ikke kommer seg inn i databasen; mysqli_connect() or die(mysqli_error()."<br>_EVENTUELLE EKSTRAHINT DU ØNSKER Å SKRIVE");

Dette er jeg ikke helt enig i, man kan informere brukeren om at det er problemer med å kontakte databasen, men feilmeldingen fra databasen trenger ikke brukeren å ha noe forhold til, skriv dette heller til en log på server.

 

normalt begynner alle variabler med liten bokstav, eventuelle "flere ord i en", som "Produkt Pris" skrives ofte (ikke alltid) som $produktPris.. bare et lite hint.

Her er jeg litt enig, men for guider som dette kan det være greit å følge PHP sine egne standarder, som sier at variabelnavn som er satt sammen av flere ord skal deles med understrek ($produkt_pris).

 

Det at dere bruker Zymic er helt greit, men man bør merke seg at de fleste webhotellene som er gratis har begrenset oppetid.

Man finner også mange fullgode alternativer, både gratis og betalt, som kanskje har bedre kontrollpanel... og kanskje "Cron Tabs" som gjør det mulig å kjøre et skript til gitte tidspunkt på dagen.

 

Forøvrig, så er en dedikert server det beste, men VPS og delte hoster kan være fullgode alternativer for mindre nettsteder.

Et gratis webhotell er mer enn godt nok for de fleste som kun ønsker å prøve seg på sin første hjemmeside med gjestebok eller blogg. Skal man over på VPS eller dedikert server koster dette ofte mer enn de fleste webhotell og burde ikke være nødvendig med mindre det er en firmaside eller man er spesielt interessert.

 

Det å kode databaser direkte som forklart kommer jo med fallgruver som Mortenrb nevner, ikke for å nevne at når en driver å skriver kode direkte mot database på en web side kan det fort gå veldig fort i svingene og en ender opp men en side som lar seg hacke av nærmest hvem som helst.

 

Ett rammeverk av type Code First ORM hadde jo vært en super ting å nevne, disse lar seg mye enklere vedlikeholde kode, samt de kommer vanligvis med kode som fjerner de vanlige metodene for at en database blir hacket.

 

Nå mener jeg ikke at en guide i Zend Framework er nødvendig, men det er noen enkle rammeverk der ute som kun er ment som ORM for PHP.

Skal man lage en stor og proff nettside, eller kun har som mål å få opp nettsiden og ingen interesse av hvordan den fungerer så er selvsagt rammeverk det beste.

Er målet derimot å lære hvordan det hele fungerer kan det være greit å begynne fra bunnen av. Bruker man nok tid på det kan man også ende opp med å lage egne små rammeverk som man kan gjenbruke i andre prosjekter.

Lenke til kommentar

Et gratis webhotell er mer enn godt nok for de fleste som kun ønsker å prøve seg på sin første hjemmeside med gjestebok eller blogg. Skal man over på VPS eller dedikert server koster dette ofte mer enn de fleste webhotell og burde ikke være nødvendig med mindre det er en firmaside eller man er spesielt interessert.

Oppetiden kan ha mye å si selv for en gjennomsnittsperson.

Et gratis webhotell kan ha såpass mye nedetid at det ikke er intressant.

Samt. at flere antivir. blokkerer gjerne subdomenene.

Nevte forøvrig at "delte hoster", altså webhotell, kan være et fullgodt alternativ til både en dedikert server og en VPS.

Jeg brukte selv gratis webhotell i begynnelsen, men ønsker du mer stabilitet, fart, mindre begrensninger o.l. kan man betale 300-500kr/året for et greit webhotell og domene.

Er det bare for testing, kan en installering av XAMPP/WAMP/Andre alternativer være godt nok.. om man ønsker å ta seg tid til det.

Så har vi også alternativet gratis webhotell for de som ikke ønsker å installere noe på PCen.

Men da har jeg bedre erfaring fra andre gratis alternativer enn Zymic (både i form av oppetid, kontrollpanel og begrensninger) så det kan være greit å lese seg litt opp før man velger.

 

Dette er jeg ikke helt enig i, man kan informere brukeren om at det er problemer med å kontakte databasen, men feilmeldingen fra databasen trenger ikke brukeren å ha noe forhold til, skriv dette heller til en log på server.

 

Ved å gi brukeren mysqli_error() i stede for en tekst, gir man noe brukeren kan søke etter.

Pluss, skriver du "Kunne ikke kontakte databasen", så kan det bety f.eks. feil server adresse, feil brukernavn, feil passord e.l.

Gir du brukeren mysqli_error(), så vet du bedre hva som faktisk er feil.

Lenke til kommentar

Ved å gi utvikleren brukeren mysqli_error() i stede for en tekst, gir man noe utvikleren brukeren kan søke etter.

Pluss, skriver du "Kunne ikke kontakte databasen", så kan det bety f.eks. feil server adresse, feil brukernavn, feil passord e.l.

Gir du utvikleren brukeren mysqli_error(), så vet du bedre hva som faktisk er feil.

 

FTFY.

 

Er du bruker av en nettside, er du i 99,9% av tilfellene ikke spesielt interessert i en spesifikk feilmelding fra databasen.

 

Er du utvikler og debugger den, så er det derimot interessant. Man bør derfor bruke (eller lage) et rammeverk som gjør det lett å bytte mellom debug- og "produksjons"-modus.

Endret av Sokkalf™
  • Liker 2
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...