Hvordan kan man enkelt lage et hjemmeside editior?

3 innlegg i emnet

Skrevet (endret)

Jeg lurer på hvordan man kan lage en enkel hjemmeside editor?

Slik når vi skriver f.eks på forumet finnes det en rekke knapper på menyen over. HTML er ikke noen problem, men verre med javaskript/PHP.

Under HTML kode (tag) F.eks

<button>B</botton>  blir [b][/b]
//Fet skrift
<button>I</botton>  blir [i][/i]
// Kursiv
<button>***</botton>  blir noe tilsvarende som [list]
[*][i][/i][/list]
// Punktmerkering
<button>Bilde</botton>[img]"http://www.google.no",[image size $size(MB)],[fileformat:$format][/img] 
<button>HTML</button> vis siden som HTML
<button>PHP</button> vis siden som standard PHP
Og sette bruker ID <?php If userid == $_ID1 === [Passed] or userid == $_ID1 === [Netrual] Else userid == $_ID3 === [Failed] $ID=01 (Administrator) $ID=02 (Moderator) $ID=02 (Forumbruker) ?> Ved å bruke følgende PHP kode?

<?php

session_start();


$errorMessage = '';

if (isset($_POST['txtUserId']) && isset($_POST['txtPassword'])) {

	if ($_POST['txtUserId'] === 'admin' && $_POST['txtPassword'] === 'admin') {

		$_SESSION['basic_is_logged_in'] = true;

		header('Location: velkommen.php');

		exit;

	} else {

		$errorMessage = 'Skriv inn riktig brukernavn og passord!';

	}

}

?>

Hvordan kan man vidreutvile denne for å støtte f.eks 3 brukere, med ulike rettigheter?

F.eks en med admin rettigheter, en med mellom rettigheter og en med få rettigheter?

Endret av LMH1
0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Hei!

Aller først vil jeg gjøre deg oppmerksom på at det er mye jobb å utvikle et system for innholdspublisering, i hvert fall hvis man skal noe mer enn redigering av en tekstfil i nettleseren. Ofte kan du bruke allerede eksisterende løsninger og få et like godt resultatet på en brøkdel av tiden du ellers ville ha brukt.

Hvis det er slik at du ønsker å utvikle et slikt verktøy skal jeg ikke stoppe deg, det er en glimrende øvelse i programmering. Det blir for mye å forklare alt du trenger å vite her, men kan gi deg noen dytt i riktig retning så du kommer ordentlig i gang.

Når det gjelder å konvertere BBcode til HTML er det mest fornuftige å lagre teksten ukonvertert i en database eller en tekstfil, for så å konverte on-the-fly til HTML når siden skal vises. Er du ordentlig proff kan du sette opp en løsning som cacher ferdig konvert kode slik at du letter serveren for arbeid hvis det er en side som etterspørres mye.

Fordelen med å lagre teksten ukonvertert er at brukeren kan endre på kodene senere, noe som ville være vanskelig hvis den blir lagret ferdig konvertert. Da måtte man i så fall konvertert tilbake til HTML først, noe som ikke alltid vil gå like bra.

Selve konverteringen kan du gjøre ved hjelp av regulære uttrykk (regular expressions). Du lager et mønster (pattern) som finner BBcode-en og erstatter denne. Dette er noe som er utrolig nyttig å kunne når du programmerer, så vil virkelig anbefale deg å lære deg det først som sist. Et enkelt Google-søk eller manualsiden på php.net er gode ressurser for å komme i gang. Funksjonen jeg antar er mest hensiktsmessig å bruke er preg_replace.

På klientsiden, i selve skjemaet teksten og kodene skal skrives inn, kan det være lurt å bruke litt javascript for å hjelpe brukeren. Jeg har tidligere hatt gode erfaringer med JS Quicktags, som lar deg sette inn knapper lignende de som er i editoren her på ITPro.

Koden du legger opp til for innlogging har den alvorlige svakheten kan passordet ligger som klartekst i PHP-filen. Skulle noen andre få tilgang til serveren har de i praksis tilgang til passordet. I tillegg er det hardkodet, noe som er tungvindt når du skal endre noe senere.

Når du setter opp innlogging lagrer du aldri passordet i klartekst, i stedet lagrer du en hash av passordet. Hashing er en form for kryptering som bare virker en vei. Har du hashen har du ikke uten videre passordet. Derimot er det slik at hver gang du hasher det samme passordet vil du alltid få samme resultat. Når en bruker sender et passord over til serveren hasher du det, og sammenligner det mot den lagrede hashen. Lenge var MD5 den foretrukne måte å hashe et passord, den er nå avleggs - i stedet bør du gå for en nyere algoritme som SHA-1.

Gir du avkall på muligheten å gi brukere forskjellige rettigheter kan du bruke webserverens innebygde funksjon for innlogging - .htpasswd. Det fungerer slik at du legger inn to filer på serveren, en som sier at mappen er passordbeskyttet (.htaccess) og en som inneholder brukernavn og passord (.htpasswd). For å generere disse filene kan du bruke siden htaccesstools.com. Er du avhengig av å ha brukere med ulike rettigheter finnes det haugevis av guider for å sette opp dette på nettet. Henviser også her til et Google-søk for ytterligere informasjon.

Einar :)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Har noen tips til PHP kode jeg bør bruke?

Eller tips på hvordan jeg bør sette opp siden?

Nå er dette bare en intern PHP jeg har på en lokal server hjemme.

Så det er ikke så viktig med sikkerheten, men noe sikkerhet er bra.

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

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